blockchain:ethereum構築ハンズオン_geth偏
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
blockchain:ethereum構築ハンズオン_geth偏 [2022/04/25 07:19] – [Mining(採掘)の実行と停止] dot | blockchain:ethereum構築ハンズオン_geth偏 [2022/04/28 01:46] (現在) – dot | ||
---|---|---|---|
行 23: | 行 23: | ||
以下のファイルを作成してください。 | 以下のファイルを作成してください。 | ||
- | < | + | < |
{ | { | ||
" | " | ||
行 63: | 行 63: | ||
(先程「インストール」した geth にパスを通すか、geth をフルパスで実行してください。) | (先程「インストール」した geth にパスを通すか、geth をフルパスで実行してください。) | ||
- | < | + | < |
geth --datadir private_network init genesis.json | geth --datadir private_network init genesis.json | ||
</ | </ | ||
行 75: | 行 75: | ||
===== geth console でブロックチェーンにコンソール接続する ===== | ===== geth console でブロックチェーンにコンソール接続する ===== | ||
- | < | + | < |
geth --datadir private_network --nodiscover console | geth --datadir private_network --nodiscover console | ||
</ | </ | ||
行 96: | 行 96: | ||
現在、アカウントが無いことを確認する。 | 現在、アカウントが無いことを確認する。 | ||
- | < | + | < |
> eth.accounts | > eth.accounts | ||
[] | [] | ||
行 103: | 行 103: | ||
アカウント2つ作成してみる。(後に送金と入金を確認するため2つ作成します) | アカウント2つ作成してみる。(後に送金と入金を確認するため2つ作成します) | ||
- | < | + | < |
> personal.newAccount(" | > personal.newAccount(" | ||
" | " | ||
行 118: | 行 118: | ||
現在の coinbase を確認する。 | 現在の coinbase を確認する。 | ||
- | < | + | < |
> eth.coinbase | > eth.coinbase | ||
" | " | ||
行 129: | 行 129: | ||
__実行__ | __実行__ | ||
- | < | + | < |
> miner.start() | > miner.start() | ||
null | null | ||
行 145: | 行 145: | ||
ETH で残高を表示 | ETH で残高を表示 | ||
> web3.fromWei(eth.getBalance(eth.accounts[0]), | > web3.fromWei(eth.getBalance(eth.accounts[0]), | ||
+ | 210 | ||
</ | </ | ||
__停止__ | __停止__ | ||
- | < | + | < |
> miner.stop() | > miner.stop() | ||
</ | </ | ||
行 155: | 行 156: | ||
===== 送金 ===== | ===== 送金 ===== | ||
- | < | + | < |
> personal.unlockAccount(eth.accounts[0]) | > personal.unlockAccount(eth.accounts[0]) | ||
Unlock account 0xd236df380900a967dcc8a229f6a27bd03c330c6d | Unlock account 0xd236df380900a967dcc8a229f6a27bd03c330c6d | ||
行 169: | 行 170: | ||
- | < | + | < |
> miner.start() | > miner.start() | ||
null | null | ||
行 191: | 行 192: | ||
内部にカウンターをもち、カウンターの値を取得する(get)と、カウンターの値を1増やす(inc)するスマートコントラクトを実装します。 | 内部にカウンターをもち、カウンターの値を取得する(get)と、カウンターの値を1増やす(inc)するスマートコントラクトを実装します。 | ||
- | < | + | < |
// SPDX-License-Identifier: | // SPDX-License-Identifier: | ||
pragma solidity ^0.8.13; | pragma solidity ^0.8.13; | ||
行 219: | 行 220: | ||
スマートコントラクトのコンパイルはコマンドラインから solc を使用して実行します。 | スマートコントラクトのコンパイルはコマンドラインから solc を使用して実行します。 | ||
- | < | + | < |
solc-windows.exe --abi --bin Counter.sol | solc-windows.exe --abi --bin Counter.sol | ||
</ | </ | ||
行 237: | 行 238: | ||
- | < | + | < |
======= Counter.sol: | ======= Counter.sol: | ||
Binary: | Binary: | ||
行 250: | 行 251: | ||
- | < | + | < |
geth --datadir private_network --nodiscover console | geth --datadir private_network --nodiscover console | ||
> var bin = " | > var bin = " | ||
行 283: | 行 284: | ||
デプロイ処理が完了すると「Contract Account」がaddressに付与されます。 | デプロイ処理が完了すると「Contract Account」がaddressに付与されます。 | ||
- | < | + | < |
> myContract | > myContract | ||
{ | { | ||
行 320: | 行 321: | ||
デプロイ処理が完了しているため「Contract Account」がaddressに付与されています。 | デプロイ処理が完了しているため「Contract Account」がaddressに付与されています。 | ||
- | < | + | < |
> miner.start() | > miner.start() | ||
null | null | ||
行 367: | 行 368: | ||
- | < | + | < |
myContract.inc.sendTransaction({from: | myContract.inc.sendTransaction({from: | ||
Error: authentication needed: password or unlock | Error: authentication needed: password or unlock | ||
行 389: | 行 390: | ||
get でカウンターの値を参照する。 | get でカウンターの値を参照する。 | ||
- | < | + | < |
> myContract.get.call() | > myContract.get.call() | ||
0 | 0 | ||
行 406: | 行 407: | ||
確認してみましょう。 | 確認してみましょう。 | ||
- | < | + | < |
> eth.getBalance(eth.accounts[0]) | > eth.getBalance(eth.accounts[0]) | ||
1.496999999999998206439e+21 | 1.496999999999998206439e+21 | ||
</ | </ | ||
blockchain/ethereum構築ハンズオン_geth偏.1650871171.txt.gz · 最終更新: 2022/04/25 07:19 by dot