# Run Ethereum Node
# Topics
# Grid (UI)
- support Aleth, Geth and Parity
- https://grid.ethereum.org/ (opens new window)
# Geth
# Basic run
geth --cache=1024 --testnet --rpc --rpcapi "db,eth,net,web3,personal" --mine --etherbase "0xf28dafbfeb41bf32869c9d498da0d651d0206ed4" --gasprice "1000000000" --bootnodes "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303,enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303" console
1
# Running mode
- Full - Sync: Gets the block headers, the block bodies, and validates every element from genesis block.
- Fast - Sync: Gets the block headers, the block bodies, it processes no transactions until current block - 64(*). Then it gets a snapshot state and goes like a full synchronization.
- Light - Sync: Gets only the current state. To verify elements, it needs to ask to full (archive) nodes for the corresponding tree leaves. ref: https://ethereum.stackexchange.com/questions/11297/what-is-geths-light-sync-and-why-is-it-so-fast?rq=1 (opens new window)
# Running mode - Performance
Dataset (blocks, states) | Normal sync (time, db) | Fast sync (time, db) |
---|---|---|
Frontier, 357677 blocks, 42.4K states | 12:21 mins, 1.6 GB | 2:49 mins, 235.2 MB |
Olympic, 837869 blocks, 10.2M states | 4:07:55 hours, 21 GB | 31:32 mins, 3.8 GB |
# Parity
# configure
# This config should be placed in following path:
# $HOME/Library/Application Support/io.parity.ethereum/config.toml
[ipc]
disable = false
path = "$HOME/.local/share/io.parity.ethereum/jsonrpc.ipc"
apis = ["web3", "eth", "pubsub", "net", "parity", "parity_pubsub", "parity_accounts", "traces", "rpc", "shh", "shh_pubsub"]
[websockets]
disable = false
port = 8546
interface = "all"
origins = ["all"]
apis = ["web3", "eth", "pubsub", "net", "parity", "parity_pubsub", "parity_accounts", "traces", "rpc", "shh", "shh_pubsub"]
hosts = ["all"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# run node
parity --chain ropsten --warp --jsonrpc-cors=all --jsonrpc-apis=all --jsonrpc-hosts=all --jsonrpc-interface all --ipc-path ~/parity/jsonrpc.ipc --ipc-apis=all
<!-- parity --chain ropsten --warp --jsonrpc-cors=all --jsonrpc-apis personal,eth -->
1
2
2
# run in geth compatibility mode
add --geth
1
# run geth with ipc
geth attach ~/.local/share/io.parity.ethereum/jsonrpc.ipc console
1
# run node in background
nohup parity --jsonrpc-apis personal,eth &
tail -f nohup.out
ps -ef|grep parity
kill <process id>
1
2
3
4
2
3
4
# net account
parity --chain ropsten account new
1
# unlock account
curl --data '{"method":"personal_unlockAccount","params":["0xde9078776c45e3d963ba84cd10f06e610ea6be64","password",null],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545
1
# account list
parity --chain ropsten account list
1
# clean database
parity db kill --chain ropsten
1
# Export hardcoded sync
parity export-hardcoded-sync --chain kovan
1
# Mining
# Run parity
parity --chain ropsten --author de9078776c45e3d963ba84cd10f06e610ea6be64 --stratum --stratum-interface=0.0.0.0 --stratum-port=9009
1
# Run miner
ethminer -G -S 127.0.0.1:9009
1
# Run Raiden Node
# Run Ethereum
# run node with geth
geth --testnet --fast --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpccorsdomain "*" --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3 console
# run node with parity
parity --chain ropsten --bootnodes "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303,enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303"
1
2
3
4
5
2
3
4
5
TIP
enode is optional
# Run Raiden
# run raiden with geth
~/Downloads/raiden-0.4.2-macOS --keystore-path /Users/totiz/Library/Ethereum/testnet/keystore
# run raiden with parity
~/Downloads/raiden-0.5.0-macOS --keystore-path ~/Library/Application\ Support/io.parity.ethereum/keys/test
1
2
3
4
5
2
3
4
5
# Harmony
Ethereum network private peer. Based on EthereumJ implementation. (opens new window)