2025-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】
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
CUDA13環境下でGPU使用版のllama.cppを導入しC++ライブラリを使う
CUDA13環境下でGPU使用版のllama-cpp-pythonを導入する
CUDA13環境下でGPU使用版のPyTorchを導入する
LetsEncrypt/certbotの証明書自動更新がエラーになる場合
Wav2Lipのオープンソース版を改造して外部から呼べるAPI化する
Wav2Lipのオープンソース版で静止画の口元のみを動かして喋らせる
【iOS】アプリアイコン・ロゴ画像の作成・設定方法
オープンソースリップシンクエンジンSadTalkerをAPI化してアプリから呼ぶ【2】
オープンソースリップシンクエンジンSadTalkerをAPI化してアプリから呼ぶ【1】
CUDA13環境下でGPU使用版のPyTorchを導入する
Googleスプレッドシートを編集したら自動で更新日時を入れる
【ひかり電話+VoIPアダプタ】LANしか通ってない環境でアナログ電話とFAXを使う
【ウマ娘】デイリーレースに雨の状態で出走するには
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
Windows11でMacのキーボードを使うには
Microsoft EdgeでURLコピーがページタイトルになってしまうのを修正する
Debian 12で固定IPアドレスを使う設定をする
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合