2024-03-29
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】
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
Intel Macbook2020にBootCampで入れたWindows11 Pro 23H2のBluetoothを復活させる
Windowsのデスクトップ画面をそのまま配信するための下準備
WindowsでGPUの状態を確認するには(ASUS系監視ソフトの自動起動を停止する)
CORESERVER v1プランからさくらインターネットスタンダートプランへ引っ越しメモ
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
インクルードパスの調べ方
【Git】特定ファイルを除外する.gitignore
【Ubuntu/Debian】NVIDIA関係のドライバを自動アップデートさせない
【Apache】サーバーに同時接続可能なクライアント数を調整する
Windows版Google Driveが使用中と言われアンインストールできない場合
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Linux】iconv/libiconvをソースコードからインストール
Googleスプレッドシートを編集したら自動で更新日時を入れる
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
【ひかり電話+VoIPアダプタ】LANしか通ってない環境でアナログ電話とFAXを使う
Windows11でMacのキーボードを使うには