ユーザ用ツール

サイト用ツール


blockchain:ethereum構築ハンズオン_geth偏

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
blockchain:ethereum構築ハンズオン_geth偏 [2022/04/22 09:34] dotblockchain:ethereum構築ハンズオン_geth偏 [2022/04/28 01:46] (現在) dot
行 23: 行 23:
 以下のファイルを作成してください。 以下のファイルを作成してください。
  
-<code genesis.json>+<code JSON genesis.json>
 { {
   "config": {   "config": {
行 63: 行 63:
 (先程「インストール」した geth にパスを通すか、geth をフルパスで実行してください。) (先程「インストール」した geth にパスを通すか、geth をフルパスで実行してください。)
  
-<code - sh>+<code PowerShell>
 geth --datadir private_network init genesis.json geth --datadir private_network init genesis.json
 </code> </code>
行 75: 行 75:
 ===== geth console でブロックチェーンにコンソール接続する ===== ===== geth console でブロックチェーンにコンソール接続する =====
  
-<code - sh>+<code PowerShell>
 geth --datadir private_network --nodiscover console geth --datadir private_network --nodiscover console
 </code> </code>
行 96: 行 96:
 現在、アカウントが無いことを確認する。 現在、アカウントが無いことを確認する。
  
-<code - sh>+<code PowerShell>
 > eth.accounts > eth.accounts
 [] []
行 103: 行 103:
 アカウント2つ作成してみる。(後に送金と入金を確認するため2つ作成します) アカウント2つ作成してみる。(後に送金と入金を確認するため2つ作成します)
  
-<code - sh>+<code PowerShell>
 > personal.newAccount("password01") > personal.newAccount("password01")
 "0xd236df380900a967dcc8a229f6a27bd03c330c6d" "0xd236df380900a967dcc8a229f6a27bd03c330c6d"
行 118: 行 118:
 現在の coinbase を確認する。 現在の coinbase を確認する。
  
-<code - sh>+<code PowerShell>
 > eth.coinbase > eth.coinbase
 "0xd236df380900a967dcc8a229f6a27bd03c330c6d" "0xd236df380900a967dcc8a229f6a27bd03c330c6d"
行 129: 行 129:
 __実行__ __実行__
  
-<code - sh>+<code PowerShell>
 > miner.start() > miner.start()
 null null
行 142: 行 142:
 > eth.getBalance(eth.accounts[1]) > eth.getBalance(eth.accounts[1])
 0 0
 +
 +ETH で残高を表示
 +> web3.fromWei(eth.getBalance(eth.accounts[0]), 'ether')
 +210
 </code> </code>
  
 __停止__ __停止__
  
-<code - sh>+<code PowerShell>
 > miner.stop() > miner.stop()
 </code> </code>
  
-===== スマートコントラクト =====+===== 送金 =====
  
-<code - sh>+<code PowerShell>
 > personal.unlockAccount(eth.accounts[0]) > personal.unlockAccount(eth.accounts[0])
 Unlock account 0xd236df380900a967dcc8a229f6a27bd03c330c6d Unlock account 0xd236df380900a967dcc8a229f6a27bd03c330c6d
行 166: 行 170:
  
  
-<code - sh>+<code PowerShell>
 > miner.start() > miner.start()
 null null
行 174: 行 178:
 null null
 </code> </code>
 +
 +===== スマートコントラクト =====
  
 ==== コンパイラ(solc)のインストール ==== ==== コンパイラ(solc)のインストール ====
行 186: 行 192:
 内部にカウンターをもち、カウンターの値を取得する(get)と、カウンターの値を1増やす(inc)するスマートコントラクトを実装します。 内部にカウンターをもち、カウンターの値を取得する(get)と、カウンターの値を1増やす(inc)するスマートコントラクトを実装します。
  
-<code Counter.sol>+<code JavaScript Counter.sol>
 // SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.18;+pragma solidity ^0.8.13;
  
 contract Counter { contract Counter {
行 214: 行 220:
 スマートコントラクトのコンパイルはコマンドラインから solc を使用して実行します。 スマートコントラクトのコンパイルはコマンドラインから solc を使用して実行します。
  
-<code - sh>+<code PowerShell>
 solc-windows.exe --abi --bin Counter.sol solc-windows.exe --abi --bin Counter.sol
 </code> </code>
行 232: 行 238:
  
  
-<code コンパイル実行結果>+<code PowerShell コンパイル実行結果>
 ======= Counter.sol:Counter ======= ======= Counter.sol:Counter =======
 Binary: Binary:
行 245: 行 251:
  
  
-<code - sh>+<code PowerShell>
 geth --datadir private_network --nodiscover console geth --datadir private_network --nodiscover console
 > var bin = "0x608060405234801561001057600080fd5b50610209806100206000396000f3fe608060405234801561001057600080fd5 > var bin = "0x608060405234801561001057600080fd5b50610209806100206000396000f3fe608060405234801561001057600080fd5
行 278: 行 284:
 デプロイ処理が完了すると「Contract Account」がaddressに付与されます。 デプロイ処理が完了すると「Contract Account」がaddressに付与されます。
  
-<code - sh>+<code PowerShell>
 > myContract > myContract
 { {
行 315: 行 321:
 デプロイ処理が完了しているため「Contract Account」がaddressに付与されています。 デプロイ処理が完了しているため「Contract Account」がaddressに付与されています。
  
-<code - sh>+<code PowerShell>
 > miner.start() > miner.start()
 null null
行 362: 行 368:
  
  
-<code - sh>+<code PowerShell>
 myContract.inc.sendTransaction({from:eth.accounts[0]}) myContract.inc.sendTransaction({from:eth.accounts[0]})
 Error: authentication needed: password or unlock Error: authentication needed: password or unlock
行 384: 行 390:
 get でカウンターの値を参照する。 get でカウンターの値を参照する。
  
-<code - sh>+<code PowerShell>
 > myContract.get.call() > myContract.get.call()
 0 0
行 401: 行 407:
 確認してみましょう。 確認してみましょう。
  
-<code - sh>+<code PowerShell>
 > eth.getBalance(eth.accounts[0]) > eth.getBalance(eth.accounts[0])
 1.496999999999998206439e+21 1.496999999999998206439e+21
 </code> </code>
  
blockchain/ethereum構築ハンズオン_geth偏.1650620061.txt.gz · 最終更新: 2022/04/22 09:34 by dot