У меня возникли проблемы с отображением нескольких тестовых транзакций в балансе целевого счета. Код ниже. Ценю, что кто-то указывает на любое мое движение...
Запуск geth как:
geth --rpc --networkid=34534 --maxpeers=0 --datadir=~/.ethereum/DevChain/ --mine --minerthreads 1 --genesis development_genesis.json console
Сеанс консоли:
> var receiver = eth.accounts[1];
undefined
> var amount = web3.toWei(1, "ether")
undefined
> var amount = web3.toWei(2, "ether")
undefined
> personal.unlockAccount(eth.accounts[0], “passwd”, 9000)
true
> eth.sendTransaction({from:sender, to:receiver, value: amount})
I0401 19:49:03.928354 eth/api.go:1072] Tx(0x8c3c85c225c76bd558cba37c7336d73aec9825e668da3b241d80119bde3a6d40) to: 0x9a22b931b03768958141afa40d66fa587c7bfd3a
"0x8c3c85c225c76bd558cba37c7336d73aec9825e668da3b241d80119bde3a6d40"
> eth.pendingTransactions
[{
blockHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
blockNumber: null,
from: "0x87fa50f10eda0ee47376427d4623deae9577c048",
gas: "0x15f90",
gasPrice: "0x4a817c800",
hash: "0x8c3c85c225c76bd558cba37c7336d73aec9825e668da3b241d80119bde3a6d40",
input: "0x",
nonce: "0x0",
to: "0x9a22b931b03768958141afa40d66fa587c7bfd3a",
transactionIndex: null,
value: "0x1bc16d674ec80000"
}]
>
> miner.start(1)
I0401 19:49:13.013921 miner/miner.go:119] Starting mining operation (CPU=1 TOT=2)
true
> I0401 19:49:13.044968 miner/worker.go:564] commit new work on block 28 with 1 txs & 0 uncles. Took 31.004161ms
> checkAllBalances()
eth.accounts[0]: 0x87fa50f10eda0ee47376427d4623deae9577c048 balance: 135 ether
eth.accounts[1]: 0x9a22b931b03768958141afa40d66fa587c7bfd3a balance: 0 ether
Я хотел видеть 2 эфира на втором аккаунте. (На самом деле 3 эфира, поскольку предыдущая транзакция, похоже, так и не прошла.)
checkAllBalances() это:
function checkAllBalances() {
var i =0;
eth.accounts.forEach( function(e){
console.log(" eth.accounts["+i+"]: " + e + " \tbalance: " + web3.fromWei(eth.getBalance(e), "ether") + " ether");
i++;
})
};
Но затем я отправил еще 3 эфира, и они намного быстрее отразились на балансе другого счета. Теперь у меня есть 0,5 эфира в ожидании, при этом вывод майнинга распознает 1 txn, но eth.pendingTransactions все еще показывает его в ожидании.
Хотел бы способ подключить транзакцию и получить представление о том, что происходит.
Ценю ваши советы, когда я изучаю основы!
Да. Это ожидаемое поведение. Транзакции будут подтверждены и включены в блокчейн, когда он будет включен в добытый блок. Для этого потребуется как минимум один добытый блок.
Я не знаю ни одного частного обозревателя тестовой сети.
Способ отслеживания транзакций в консоли Ethereum geth заключается в отслеживании хэша транзакции, отображаемого после выполнения команды eth.sendTransaction(...), после чего вы можете использовать eth.getTransaction(...) для получения сведений о транзакции. В приведенном ниже примере транзакция была получена в блоке 84. До того, как транзакция будет обнаружена, blockHash и blockNumber будут нулевыми.
> eth.sendTransaction({from:eth.accounts[0], to:eth.accounts[1], web3.toWei(2, "ether")})
"0xe548890adc667af1f0b9694ddd9da75dd85d17d6ffcaef62aedb63389ac2da9b"
> eth.getTransaction("0xe548890adc667af1f0b9694ddd9da75dd85d17d6ffcaef62aedb63389ac2da9b")
{
blockHash: null,
blockNumber: null,
from: "0x1111903a542ef1ff952eab096eab0517a7d4eeee",
gas: 90000,
gasPrice: 20000000000,
hash: "0xe548890adc667af1f0b9694ddd9da75dd85d17d6ffcaef62aedb63389ac2da9b",
input: "0x",
nonce: 0,
to: "0x22222a45dce56b6804bbf6a2dc8fae045511ffff",
transactionIndex: null,
value: 1000000000000000000
}
... transaction mined ...
> eth.getTransaction("0xe548890adc667af1f0b9694ddd9da75dd85d17d6ffcaef62aedb63389ac2da9b")
{
blockHash: "0xc74d2b08c28b801344006e477fe99cdc7cd6f3936a4223135eec7b42a04bf999",
blockNumber: 84,
from: "0x1111903a542ef1ff952eab096eab0517a7d4eeee",
gas: 90000,
gasPrice: 20000000000,
hash: "0xe548890adc667af1f0b9694ddd9da75dd85d17d6ffcaef62aedb63389ac2da9b",
input: "0x",
nonce: 0,
to: "0x22222a45dce56b6804bbf6a2dc8fae045511ffff",
transactionIndex: 0,
value: 1000000000000000000
}
маулив
commit new work on block 28
это признак майнинга блока. Спасибо!мтбиткойн
маулив
Аман С