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"
}
{
"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
[Unit]
Description=Eluvio elvmasterd
After=network.target
[Service]
Type=simple
Restart=always
RestartSec=30s
ExecStart=/usr/local/bin/elvmasterd start \
--config=/etc/elvmasterd/config.toml \
--log-file=/var/elvmasterd-log/elvmasterd.log
[Install]
WantedBy=default.target