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 | ||
行 150: | 行 150: | ||
__停止__ | __停止__ | ||
- | < | + | < |
> miner.stop() | > miner.stop() | ||
</ | </ | ||
行 156: | 行 156: | ||
===== 送金 ===== | ===== 送金 ===== | ||
- | < | + | < |
> personal.unlockAccount(eth.accounts[0]) | > personal.unlockAccount(eth.accounts[0]) | ||
Unlock account 0xd236df380900a967dcc8a229f6a27bd03c330c6d | Unlock account 0xd236df380900a967dcc8a229f6a27bd03c330c6d | ||
行 170: | 行 170: | ||
- | < | + | < |
> miner.start() | > miner.start() | ||
null | null | ||
行 192: | 行 192: | ||
内部にカウンターをもち、カウンターの値を取得する(get)と、カウンターの値を1増やす(inc)するスマートコントラクトを実装します。 | 内部にカウンターをもち、カウンターの値を取得する(get)と、カウンターの値を1増やす(inc)するスマートコントラクトを実装します。 | ||
- | < | + | < |
// SPDX-License-Identifier: | // SPDX-License-Identifier: | ||
pragma solidity ^0.8.13; | pragma solidity ^0.8.13; | ||
行 220: | 行 220: | ||
スマートコントラクトのコンパイルはコマンドラインから solc を使用して実行します。 | スマートコントラクトのコンパイルはコマンドラインから solc を使用して実行します。 | ||
- | < | + | < |
solc-windows.exe --abi --bin Counter.sol | solc-windows.exe --abi --bin Counter.sol | ||
</ | </ | ||
行 238: | 行 238: | ||
- | < | + | < |
======= Counter.sol: | ======= Counter.sol: | ||
Binary: | Binary: | ||
行 251: | 行 251: | ||
- | < | + | < |
geth --datadir private_network --nodiscover console | geth --datadir private_network --nodiscover console | ||
> var bin = " | > var bin = " | ||
行 284: | 行 284: | ||
デプロイ処理が完了すると「Contract Account」がaddressに付与されます。 | デプロイ処理が完了すると「Contract Account」がaddressに付与されます。 | ||
- | < | + | < |
> myContract | > myContract | ||
{ | { | ||
行 321: | 行 321: | ||
デプロイ処理が完了しているため「Contract Account」がaddressに付与されています。 | デプロイ処理が完了しているため「Contract Account」がaddressに付与されています。 | ||
- | < | + | < |
> miner.start() | > miner.start() | ||
null | null | ||
行 368: | 行 368: | ||
- | < | + | < |
myContract.inc.sendTransaction({from: | myContract.inc.sendTransaction({from: | ||
Error: authentication needed: password or unlock | Error: authentication needed: password or unlock | ||
行 390: | 行 390: | ||
get でカウンターの値を参照する。 | get でカウンターの値を参照する。 | ||
- | < | + | < |
> myContract.get.call() | > myContract.get.call() | ||
0 | 0 | ||
行 407: | 行 407: | ||
確認してみましょう。 | 確認してみましょう。 | ||
- | < | + | < |
> eth.getBalance(eth.accounts[0]) | > eth.getBalance(eth.accounts[0]) | ||
1.496999999999998206439e+21 | 1.496999999999998206439e+21 | ||
</ | </ | ||
blockchain/ethereum構築ハンズオン_geth偏.1650871188.txt.gz · 最終更新: 2022/04/25 07:19 by dot