2022-03-30



Ubuntu Server 21.10でイーサリアムブロックチェーン【その1】
Ubuntu Server 21.10でイーサリアムブロックチェーン【その2】
Ubuntu Server 21.10でイーサリアムブロックチェーン【その3】
Ubuntu Server 21.10でイーサリアムブロックチェーン【その4】
Ubuntu Server 21.10でイーサリアムブロックチェーン【その5】
Ubuntu Server 21.10でイーサリアムブロックチェーン【その6】
続きです。truffle developだと、ローカルのEVMブロックチェーンが立ち上がるが、ほかにも、ローカルのgethで自分で立ち上げているチェーンや、外部のパブリックチェーンに接続することもできる。
これは、truffle-config.jsのnetworksの項を編集して切り替える。
パターンA:truffle開発テストEVMブロックチェーンで起動する
truffle-config.jsはデフォルトから何もいじらずに
truffle develop
パターンB:ローカルPCのgethで立ち上げた自前ブロックチェーンに接続する
genesis.jsonでchainIdを1342、--http.port 8777でgethでチェーン起動しており、接続後のトランザクション送り元をアカウント2(0x1a8355a4ae7465f7bf867a1a0ea88932b1c19891)からにしたい場合
truffle-config.js
networks: { advanced: { port: 8777, // Custom port network_id: 1342, // Custom network gas: 8500000, // Gas sent with each transaction (default: ~6700000) gasPrice: 20000000000, // 20 gwei (in wei) (default: 100 gwei) from: 0x1a8355a4ae7465f7bf867a1a0ea88932b1c19891, // Account to send txs from (default: accounts[0]) websocket: true // Enable EventEmitter interface for web3 (default: false) },
などとして、
truffle console --network advanced
パターンC:外部のパブリックブロックチェーンRinkebyに接続する
本物ネットワークに接続するには事前準備が必要です。
METAMASKのインストール
まず、Chromeブラウザプラグインで、アカウントの一元管理が出来るウォレットMETAMASKが必要です。
OpenSeaで画像をNFT資産として販売するにはの、
【4、仮想通貨ウオレットプラグインMETAMASKをChrome拡張機能でインストール】の項を参照してMETAMASKをインストールしておきます。
Rinkebyテストネットワークに接続
METAMASKをクリックし、「表示・非表示」テストネットワークを「表示」します。すると、メインネットだけでなく、他のパブリックテストネットも選択できるようになります。
ここでは、OpenSea(testnets.opensea.io)も対応しているRinkebyを選択します。
選択して「アカウントを作成」すれば、すぐにイーサリアムアドレスが発行されます。右のメニューを選択して「アカウントをEtherscanで表示」してみましょう。何かやると、ここにトランザクションログが貯まっていくはずです。
同じように、もう一度「アカウントを作成」して、Account 2も作成しておきます。別アカウントを切り替えることで、NFTを発行→他人として買う、のようなシミュレーションを自己完結で行うことができます。
ETHをもらう
テストをするにはETHが必要なので、いくらかもらう必要があります。
https://faucets.chain.link/rinkeby
にアクセスし、右上のConnect Account(Wallet METAMASK)をクリックして、METAMASKとサイトを接続させます。METAMASKの認証を許可します。
すると「Wallet Address」が自動で埋まるので、私はロボットではありません、でSend requestすると、0.1ETHもらえます。METAMASKのアカウントを切り替えて、Account 1, 2、両方でもらっておくと良い。
infura.ioに登録してRinkebyのAPIキーを取得する
にユーザ登録、CREATE NEW PROJECTで、PRODUCT: Ethereum、PROJECT NAME: TEST-ETH などとして作成。
作成したプロジェクトのSETTINGS→KEYS→ENDPOINTS→RINKEBY を選択。
https://rinkeby.infura.io/v3/aaaaaabbbbbcccccdddddd
のようなこれが、APIキーになる。
truffle-hdwallet-providerのインストール
無ければ入れておく。
npm install truffle-hdwallet-provider
ここまで準備できたら、truffle-config.js
const HDWalletProvider = require('truffle-hdwallet-provider'); const mnemonic = "METAMASK登録時に発行されたリカバリーフレーズ"; networks: { rinkeby: { provider: () => new HDWalletProvider(mnemonic, `https://rinkeby.infura.io/v3/aaaaaabbbbbcccccdddddd`), network_id: "*", // Rinkeby's id gas: 5500000, // Rinkeby has a lower block limit than mainnet confirmations: 2, // # of confs to wait between deployments. (default: 0) timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) skipDryRun: true, // Skip dry run before migrations? (default: false for public nets ) from: トランザクション送り元アドレス(METAMASKのAccount1か2のアドレス), // Account to send txs from },
などとして、
truffle console --network rinkeby
Ubuntu Server 21.10でイーサリアムブロックチェーン【その8】
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
☆ServerNote.NETショッピング↓
ShoppingNote / Amazon.co.jp
☆お仲間ブログ↓
一人社長の不動産業務日誌
【Swift UI】GeometryReader内のViewの位置が左にずれてしまう場合
XcodeでSwift UIアプリ実行時EXC_BAD_ACCESSエラーが出た場合
【Swift UI】右から登場し右へ消えるアニメーションボタンビュー
【Xcode】無償デベロッパで実機テストするまでのメモ
【Swift UI】アニメーションとトランジションの種類
【Swift UI】Hello Worldをフェードイン・アウトさせる
UbuntuにMariaDBを導入するメモ
Windows11+WSL2でUbuntuを使う【5】WSL2/Ubuntu本体自体をマシン起動時に自動起動させ常駐させる
【Windows11】マシン起動時にパスワード入力を省略して自動ログインする
進研ゼミチャレンジタッチをAndroid端末化する
Androidホームで左にスワイプすると出てくるニュース共を一切表示させない方法
Windows版Google Driveが使用中と言われアンインストールできない場合
Googleスプレッドシートを編集したら自動で更新日時を入れる
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
【Javascript】JSON配列内にある特定要素の取得法【Node.js】
【Apache】サーバーに同時接続可能なクライアント数を調整する
Googleスプレッドシートで図形をコピーして使いまわすには
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合