blockchain:ropstenテストネットの使用
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
blockchain:ropstenテストネットの使用 [2022/05/14 01:16] – 作成 dot | blockchain:ropstenテストネットの使用 [2022/05/14 04:26] (現在) – dot | ||
---|---|---|---|
行 7: | 行 7: | ||
以下の手順で MetaMask が接続するネットワークを Ropsten に設定します。 | 以下の手順で MetaMask が接続するネットワークを Ropsten に設定します。 | ||
- | - {{: | + | - 1をクリックして「表示・非表示」をクリック \\ {{: |
+ | - 「テストネットワークを表示」を「オン」にする \\ {{: | ||
+ | - ネットワーク選択で「Ropstenテストネットワーク」を選択する \\ {{: | ||
- | ===== ETH を貰う ===== | + | ===== Faucet から |
+ | 以下の手順で「MetaMask Ether Faucet」から Ropsten で使用できる 1 ETH を貰うことができます。 | ||
+ | (Faucetは「蛇口」という意味。) | ||
+ | - 「購入」をクリック \\ {{: | ||
+ | - 「Etherを取得」をクリック \\ {{: | ||
+ | - 「request 1 ether from faucet」をクリック \\ {{: | ||
+ | - 適切なアカウントを選択して「次へ」をクリック \\ {{: | ||
+ | - 「接続」をクリック \\ {{: | ||
+ | - しばらくは「0 ETH」のままです \\ {{: | ||
+ | - 30秒から1分ほど(? | ||
+ | |||
+ | ===== Hardhat の設定 ===== | ||
+ | |||
+ | ==== alchemy への登録と API KEY の取得 ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | アカウントが作成できたら、以下の手順で API KEY を取得します。 | ||
+ | |||
+ | - 「Ethereum」がチェックされていることを確認して「Get Started」をクリック \\ {{: | ||
+ | - 1と2を自由に命名し、3で「Ropsten」を選択して「Create App」をクリック \\ {{: | ||
+ | - 「Continue」をクリック \\ {{: | ||
+ | - 「Skif for now」をクリック \\ {{: | ||
+ | - 「Skif for now」をクリック \\ {{: | ||
+ | - 「Continue」をクリック \\ {{: | ||
+ | - 1を自由に入力して「Let' | ||
+ | - 「VIEW KEY」をクリック \\ {{: | ||
+ | - 「API KEY」をコピーしてメモしておきます \\ {{: | ||
+ | |||
+ | ==== MetaMask アカウントプライベートキーの取得 ==== | ||
+ | |||
+ | - Ropsten にアクセスしているアカウントを選択し「アカウントの詳細」をクリック \\ {{: | ||
+ | - 「秘密鍵のエクスポート」クリック \\ {{: | ||
+ | - MetaMask のパスワードを入力して「確認」をクリック \\ {{: | ||
+ | - 秘密鍵をコピーしてメモしておいてください。「完了」をクリック \\ {{: | ||
+ | |||
+ | ==== Hardhat 設定ファイルの編集 ==== | ||
+ | |||
+ | |||
+ | Hardhat の設定ファイルが接続する ethereum ブロックチェーンを Ropsten に切り替える方法です。 | ||
+ | |||
+ | hardhat.config.js の networks プロパティに Ropsten を追記します。 | ||
+ | 追記しているのは「ALCHEMY_API_KEY」「ROPSTEN_PRIVATE_KEY」と modules.exports の「networks: | ||
+ | 環境に合わせてマージしてください。 | ||
+ | |||
+ | <code JavaScript> | ||
+ | require(" | ||
+ | |||
+ | // This is a sample Hardhat task. To learn how to create your own go to | ||
+ | // https:// | ||
+ | task(" | ||
+ | const accounts = await hre.ethers.getSigners(); | ||
+ | |||
+ | for (const account of accounts) { | ||
+ | console.log(account.address); | ||
+ | } | ||
+ | }); | ||
+ | |||
+ | // You need to export an object to set up your config | ||
+ | // Go to https:// | ||
+ | |||
+ | // Go to https:// | ||
+ | // a new App in its dashboard, and replace " | ||
+ | const ALCHEMY_API_KEY = " | ||
+ | |||
+ | // Replace this private key with your Ropsten account private key | ||
+ | // To export your private key from Metamask, open Metamask and | ||
+ | // go to Account Details > Export Private Key | ||
+ | // Be aware of NEVER putting real Ether into testing accounts | ||
+ | const ROPSTEN_PRIVATE_KEY = " | ||
+ | |||
+ | /** | ||
+ | * @type import(' | ||
+ | */ | ||
+ | module.exports = { | ||
+ | solidity: " | ||
+ | networks: { | ||
+ | hardhat: {}, | ||
+ | ropsten: { | ||
+ | url: `https:// | ||
+ | accounts: [`${ROPSTEN_PRIVATE_KEY}`] | ||
+ | } | ||
+ | } | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | ==== Ropsten にスマートコントラクトをデプロイする ==== | ||
+ | |||
+ | Ropsten にスマートコントラクトをデプロイして実行するコマンドの例です。 | ||
+ | |||
+ | 「--network ropsten」オプションを付けることで Ropsten ネットワークを選択しているのがポイントです。 | ||
+ | |||
+ | Ropsten に Greeter スマートコントラクトをデプロイ | ||
+ | <code PowerShell> | ||
+ | hardhat_project> | ||
+ | Downloading compiler 0.8.4 | ||
+ | Compiled 2 Solidity files successfully | ||
+ | Greeter deployed to: 0xaCeAe7f921287fA5B255d37e83a1859793052D8B | ||
+ | </ | ||
+ | |||
+ | Ropsten にコンソール接続し Greeter スマートコントラクトを実行 | ||
+ | <code PowerShell> | ||
+ | hardhat_project> | ||
+ | Welcome to Node.js v16.15.0. | ||
+ | Type " | ||
+ | > const Greeter = await ethers.getContractAt(' | ||
+ | undefined | ||
+ | > await Greeter.greet(); | ||
+ | ' | ||
+ | </ | ||
+ | |||
+ | 今回デプロイした Greeter スマートコントラクトはインターネット上で稼働する Ropsten にデプロイされているため、どこからでもアクセスすることができます。[[https:// |
blockchain/ropstenテストネットの使用.1652490968.txt.gz · 最終更新: 2022/05/14 01:16 by dot