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