Skip to main content

Configurations

Validator

The following example elvmasterd configuration can enable validation, provided the directories and files specified are created/exist.

enc_block = "H4sIAEf8mGMAA61Vy27bQAy85ysCn3vYF3eXPRY9tECv/QCSy02E2rJry0DSIP9eOnaeSAAnjg4CNKPliOSQujk7P5/JcuzDxezr+Y097Z4vaRh/NgMQIDr4socvlwvdTErt23wpf4x1B0KHlQf3OvqDNpcGztyVO/GaPY0Lr6rVlyhf/6NxGraLl4SlvJl21LhczfWe9aVgNKnDSyuddL3h7frijReGXQzezt+gZT783epDXe8irodle/yO3YevlrKrkLdzd9it3W939GxcjqKH4t1lP5uGXQtosXqG6tW0pu800ecUWmoPmUOG0qhKDKXmEill71S7Y9cFxbXaYlSHmAsHDUmEXa6QnCe7SfMxAPWoOWiB3pMHFY/SRGsiKto5U4MQKvcepFYVRuUuCbuvzvmA3CNoKs4OREZy7B1LhgQi2CKSmFwsISRfUEv0HbEk8R67gvYS5dQ6nH7t23NBm1/DYpj23fHRh3ZPtaH3Qbbz6fpA7uHFcPXJc2OGH0amjb4v5v4szc3fj+vh2L4/NT7TnB7MTJA7ASM6jwRSD1p79x9mByTEyq2JeI0pRQHrLWJEiAki9KAQc4f8tkgrVVnAfBJeiZ+Lh47MnM2LClhdbzVw44auUPTZNCiW8tH4x5r+pCIhkU2jRfNRqRZ1Tn3Kks39XIuNKufuHclHkzh2Ik9K4th1c5rIkTvjJBFlX8EVYLAELAUnoSQAl4mrSXCGjEqEH22HdusBeo7OLOTAWt7Qho25J3S2Uywtyye4d8d//ONsF6zrZz8X216/N9qeYSta6zh94oo6uz37D7N/queKCAAA"

[node]
identity = "some-validator"
datadir = "/var/elvmasterd-data"
networkid = 955305
port = 40304
nodiscover = false
ipcenable = true
ipcpath = "/tmp/elvmasterd.socket"
rpcaddr = "127.0.0.1"
rpcport = 8545
rpccorsdomain = "*"
node_account = ""

verbosity = 4
log_file = "/var/log/elvmasterd.log"
log_rotate = true
log_maxbackups = 5
log_maxage = 6
log_maxsize = 100

trustednodes = "enode://bd6f112bfe161c0aba01f528aabc3e3afa6988d7bf4bf18d27fc1ea5d2741d6c5f08152acb107a98c2d76c1010d562b9a916d4e9a32b7cd8bcbdc71f31d45f4b@35.245.56.134:40303,enode://2c45d0c02de80e79e6256510b8b2766ed3fbf3c83049fd8b944eb5005f00e33e1ae78f224ea9e8e739513d76f1c506e795a15a230c0cf7ebbcf1712679e79b24@34.82.230.165:40303,enode://79c6cfef928835a182df74733534784d6b78e712be2c238807c884b472814720f426a73d00c3a1515702bc499f5c1be04d3778e4d42ff7e3f3acbf9fb80a450c@35.197.227.229:40303,enode://7c62d974fab078319b1d36fd6b1c57126b72ddbab7f7fb753ad5e3957d0722241d4b3e1a8f0300374a35592beaa04cbd6c8ba4945746fdab0663a1b3eb075a8d@34.90.240.19:40303,enode://ea3a37dc7263c41cd1bec2f24c76e04af6da971e9137bc2260246b38a20f49a0ce87203022b68b10b7a86f55ce4c59cfcc10fa58289c85233516e8d3e721bf49@34.66.255.82:40303,enode://623e7e512310d1f38da518efafbc75a47b8993ef0177d36c051a5d84b49cdbd130c64544da909601e985330f33de01157cf828008c6326a85e99cb09fd991813@209.51.161.245:40304,enode://ea7bfc1c4ce6426452a8ca92a5dfc58351afff74957de54059273d779823a74bd2d4462e59ca0b558b3f91c4153382aaca1ece7c99c2c5266b31554d58ef13db@38.142.50.106:40305,enode://50d10d29743333ac5567112bb7fd350eebb5a82ee9abb56710ae808e7720aeee3ee99ca738ef87434f762c49e476fcf300b709070a52c13c9ef73ebbad071fb1@66.220.3.85:40304,enode://c16d5a547ebde44fedcc061daecb5ccf8e49fcfdfd79d94a7fd69829cc03d82bb5b2b6e13a830966906eb5e394d4ce2e4083c913a3b918458fc8bb12366f9fc4@216.66.89.93:40305,enode://884752ff92e6d7943b89c828c9e25a6e9485cc415a715371bb95b6cc43f97e8e691a18725dfe9765bab91c7b355d5802d8c18447086877e4b81321c17daf3324@184.104.204.50:40304,enode://47f575c58c6bf9eb7cb1c9e371cf4ab25a5dd47e08380a6c4ec1166ca61f1f3738c3f4607f53179a5504cac4c7c42dfd25bced7e8231ddc63006072026397095@60.240.133.202:40304,enode://a7b3debaac54c9cee41f4f9c3c39590614c805256461cc428d6c9e0d35620a680104d64e6785233e50a57ac9f2a69e6e9d24e2eb6c9f57412e2d2513ca30fad3@209.146.32.50:40304"
discovery_urls = "enrtree://ANSPCRAV5TS5FGBBXB7ERZBRUCTS4BLXOF7BQIELODCLLZE2BR2U4@main955305.nodes.cfab.app"

[hdwallet]
mnemonic = ""
passphrase = ""
accounts = 1

Upgrading Genesis

This genesis.json can be used with elvmasterd update-genesis to update the local database that was initialized with an older genesis.

{
"config": {
"chainId": 955305,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 17793000,
"petersburgBlock": 17793000,
"istanbulBlock": 17793000,
"clique": {
"period": 0,
"epoch": 1000
}
},
"nonce": "0x0",
"timestamp": "0x0",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000c8f26b2657da8c3278673a4610eef0b0fc9c0d8d33e09967b2e24ccb0685401a540cd1325af3e62e75ff415ec19cdce84aa7efb6ad5228bff2c88ecb9ebfc49f1800129bf35e470e843b9a0b10bc6545cc9d39ac68537224179e731f9974c119fe5ef73c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x1312d00",
"difficulty": "0x1",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"33e09967b2e24ccb0685401a540cd1325af3e62e": {
"balance": "0xa56fa5b99019a5c8000000"
},
"5c238bddcc1e3443c54c19939534535f2e536f56": {
"balance": "0xad78ebc5ac6200000"
},
"6715f9bbb67efe5980fd82bdbd907a31635fa377": {
"balance": "0xad78ebc5ac6200000"
},
"75ff415ec19cdce84aa7efb6ad5228bff2c88ecb": {
"balance": "0xa56fa5b99019a5c8000000"
},
"9aa0fc8bf13ea87e00e146c6f73b870b0b6f10ac": {
"balance": "0xad78ebc5ac6200000"
},
"9ebfc49f1800129bf35e470e843b9a0b10bc6545": {
"balance": "0xa56fa5b99019a5c8000000"
},
"c8f26b2657da8c3278673a4610eef0b0fc9c0d8d": {
"balance": "0xa56fa5b99019a5c8000000"
},
"cc9d39ac68537224179e731f9974c119fe5ef73c": {
"balance": "0xa56fa5b99019a5c8000000"
},
"eb185075b573a3a40c2745506ab819fb6569eaa9": {
"balance": "0xad78ebc5ac6200000"
},
"ef29b91b3022805ea8d95afbbf490d0024199720": {
"balance": "0xad78ebc5ac6200000"
}
},
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}

Validator systemd Units

elvmasterd should be run with some form of process management, like systemd to ensure the daemon loads on system boot, and reloads when failures occur.

The attached versions highlight other scenarios that will work, but may not be documented in detail otherwise.

[Unit]
Description=Eluvio elvmasterd
After=network.target

[Service]
User=eluvio
Group=eluvio
Type=exec
KillMode=mixed
Restart=always
RestartSec=30s

ExecStart=/usr/local/bin/elvmasterd start \
--config=/etc/elvmasterd/config.toml \
--allow-insecure-unlock \
--log-file=/var/elvmasterd-log/elvmasterd.log

[Install]
WantedBy=default.target