Ethereum - andyceo/documentation GitHub Wiki
sudo docker container exec -ti <CONTAINER_ID> geth attach
Можно ознакомиться с полной справкой по JavaScript-консоли Ethereum
-
Узнать текущий статус синхронизации (текущую высоту ноды, блокчейна и т.п.):
eth.syncing
Если синхронизация завершена, возвращает
false
, если нет - объект. -
Узнать только адреса пиров (основная команда
admin.peers
):for (var i = 0; i < admin.peers.length; ++i) { console.log(admin.peers[i].network.remoteAddress); }
-
Список всех аккаунтов (кошельков):
eth.accounts
-
Создать кошелек (аккаунт):
> personal.NewAccount() ... you will be prompted for a password ...
или
> personal.newAccount("passphrase")
-
Узнать основной кошелек и баланс на нем:
primary = eth.accounts[0]; balance = web3.fromWei(eth.getBalance(primary), "ether");
или одной строкой:
web3.fromWei(eth.getBalance(eth.accounts[0]), "ether");
-
Разблокировать кошелек
personal.unlockAccount(address, "password");
-
Цена на газ, в Wei
eth.gasPrice;
-
Посмотреть зависшие транзакции:
eth.pendingTransactions;
-
Посмотреть номер текущего блока:
eth.blockNumber;
-
Переслать эфиры с одного кошелька на другой
sender = eth.accounts[0]; receiver = eth.accounts[1]; amount = web3.toWei(0.1, "ether"); gasprice = web3.eth.gasPrice; transaction = {from: sender, to: receiver, value: amount, gasPrice: gasprice} eth.sendTransaction(transaction);
или, одной строкой с основного кошелька на кошелек
0x11..11
сумму в0.1
эфира, с рассчитанной по умолчанию ценой газа:eth.sendTransaction({from:eth.accounts[0], to:"0x11..11", value: web3.toWei(0.1, "ether"), gasPrice:web3.eth.gasPrice});
а лучше, двумя строками:
transaction = {from:eth.accounts[0], to:"0x11..11", value:web3.toWei(0.1, "ether"), gasPrice:eth.gasPrice} # !here you can adjust transaction before sending it, for example, set lower gasPrice, # or set nonce=<see etherscan for from account> for replacing existing transaction with same nonce! eth.sendTransaction(transaction)
чтобы изменить еще не прошедшую транзакцию, достаточно в объекте
transaction
задать тот жеnonce
, что у застрявшей транзакции (с помощьюeth.pendingTransactions
), и снова отправить ее (с помощьюeth.sendTransaction(transaction)
)
Если начинаете с самого начала, то:
geth --syncmode "fast" --cache=1024 --jitvm
Если у вас уже есть немного блокчейна:
geth --cache=1024 --jitvm
Если у вас есть немного блокчейна, и вы хотите с самого начала быструю синхронизацию, то:
geth removedb
geth --syncmode "fast" --cache=1024 --jitvm
или
geth --syncmode "light" --cache=1024 --jitvm
для сверхбыстрой синхронизации в режиме light.
Размер кеша зависит от количества вашего RAM, если много, то пробуйте более большие значения, например --cache=2048.
Ссылки:
- https://github.com/ethereum/homestead-guide/blob/master/source/network/connecting-to-the-network.rst#using-geth
- http://ethereum.stackexchange.com/questions/2853/ethereum-mining-after-fast-sync !!!
- http://ethereum.stackexchange.com/questions/1161/what-is-geths-fast-sync-and-why-is-it-faster !!!
Эту команду можно использовать под ssh:
nohup geth --etherbase 0 --mine 2>> geth.log &
Также можно указать существующий аккаунт, на который будут начисляться эфиры:
nohup geth --etherbase "0xd987b8520bf72af9521d96e7b20089daf5d994d6" --mine 2>> geth.log &
(see http://ethdocs.org/en/latest/mining.html)
Смотреть лог можно командой:
tail -f geth.log
Майнинг на GPU:
https://github.com/ethereum/homestead-guide/blob/master/source/mining.rst
-
removedb
: удаляет локальную базу блокчейна (папки.ethereum/geth/chaindata
,.ethereum/geth/lightchaindata
)
Когда нода запускается, она создает файл ~/.ethereum/
Чтобы запустить в geth-докер-контейнере оболочку sh
вместо самого geth
, что по умолчанию, нужно подменить entrypoint
(cmd
менять не надо, когда меняешь entrypoint
, он обнуляется):
eth:
image: ethereum/client-go:v1.7.3
entrypoint:
- "/bin/sh"
- "-c"
- "sleep 100000"
#command: --cache=1024 --syncmode "full" --verbosity 5 --rpc --nousb
Это нужно для того, чтобы иметь возможность залезть внутрь контейнера с установленным geth и выполнить там команды geth removedb и другие.
- Управление кошельками
- Настройка ноды, кошелька и майнинга Эфириума (Ethereum) под Ubuntu x64 14.04.2
- Майнинг Ethereum (Эфириум) видеокартой.
- Как майнить Ethereum
- Пошаговая инструкция по майнингу Ethereum для чайников! (с картинками)
- http://ethereum.stackexchange.com/questions/111/how-to-mine-ether-on-gnu-linux
- https://github.com/ethereum/go-ethereum/wiki/mining
- https://2ch.hk/cc/res/125482.html
- http://coin-lab.com/ethereum-glava-4-majning/
- https://ethstats.net/