ユーザ用ツール

サイト用ツール


blockchain:ropstenテストネットの使用

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
blockchain:ropstenテストネットの使用 [2022/05/14 01:26] dotblockchain:ropstenテストネットの使用 [2022/05/14 04:26] (現在) dot
行 11: 行 11:
   - ネットワーク選択で「Ropstenテストネットワーク」を選択する \\ {{:blockchain:metamaskropsten004.png?600|}}   - ネットワーク選択で「Ropstenテストネットワーク」を選択する \\ {{:blockchain:metamaskropsten004.png?600|}}
  
-===== ETH を貰う =====+===== Faucet から ETH を貰う =====
  
 以下の手順で「MetaMask Ether Faucet」から Ropsten で使用できる 1 ETH を貰うことができます。 以下の手順で「MetaMask Ether Faucet」から Ropsten で使用できる 1 ETH を貰うことができます。
 +(Faucetは「蛇口」という意味。)
  
   - 「購入」をクリック \\ {{:blockchain:metamaskropsten005.png?600|}}   - 「購入」をクリック \\ {{:blockchain:metamaskropsten005.png?600|}}
行 24: 行 25:
  
  
 +===== Hardhat の設定 =====
 +
 +==== alchemy への登録と API KEY の取得 ====
 +
 +[[https://www.alchemy.com|alchemy]]にアクセスし右上の「ログイン→」をクリックして、アカウントを作成してください。
 +
 +アカウントが作成できたら、以下の手順で API KEY を取得します。
 +
 +  - 「Ethereum」がチェックされていることを確認して「Get Started」をクリック \\ {{:blockchain:alchemy001.png?600|}}
 +  - 1と2を自由に命名し、3で「Ropsten」を選択して「Create App」をクリック \\ {{:blockchain:alchemy002.png?600|}}
 +  - 「Continue」をクリック \\ {{:blockchain:alchemy003.png?600|}}
 +  - 「Skif for now」をクリック \\ {{:blockchain:alchemy004.png?600|}}
 +  - 「Skif for now」をクリック \\ {{:blockchain:alchemy005.png?600|}}
 +  - 「Continue」をクリック \\ {{:blockchain:alchemy006.png?600|}}
 +  - 1を自由に入力して「Let's Go」をクリック \\ {{:blockchain:alchemy007.png?600|}}
 +  - 「VIEW KEY」をクリック \\ {{:blockchain:alchemy008.png?600|}}
 +  - 「API KEY」をコピーしてメモしておきます \\ {{:blockchain:alchemy009.png?600|}}
 +
 +==== MetaMask アカウントプライベートキーの取得 ====
 +
 +  - Ropsten にアクセスしているアカウントを選択し「アカウントの詳細」をクリック \\ {{:blockchain:metamaskprivatekey001.png?600|}}
 +  - 「秘密鍵のエクスポート」クリック \\ {{:blockchain:metamaskprivatekey002.png?600|}}
 +  - MetaMask のパスワードを入力して「確認」をクリック \\ {{:blockchain:metamaskprivatekey003.png?600|}}
 +  - 秘密鍵をコピーしてメモしておいてください。「完了」をクリック \\ {{:blockchain:metamaskprivatekey004.png?600|}}
 +
 +==== Hardhat 設定ファイルの編集 ====
 +
 +
 +Hardhat の設定ファイルが接続する ethereum ブロックチェーンを Ropsten に切り替える方法です。
 +
 +hardhat.config.js の networks プロパティに Ropsten を追記します。
 +追記しているのは「ALCHEMY_API_KEY」「ROPSTEN_PRIVATE_KEY」と modules.exports の「networks:」です。
 +環境に合わせてマージしてください。
 +
 +<code JavaScript>
 +require("@nomiclabs/hardhat-waffle");
 +
 +// This is a sample Hardhat task. To learn how to create your own go to
 +// https://hardhat.org/guides/create-task.html
 +task("accounts", "Prints the list of accounts", async (taskArgs, hre) => {
 +  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://hardhat.org/config/ to learn more
 +
 +// Go to https://www.alchemyapi.io, sign up, create
 +// a new App in its dashboard, and replace "KEY" with its key
 +const ALCHEMY_API_KEY = "YOUR_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 = "YOUR_ROPSTEN_PRIVATE_KEY";
 +
 +/**
 + * @type import('hardhat/config').HardhatUserConfig
 + */
 +module.exports = {
 +  solidity: "0.8.4",
 +  networks: {
 +    hardhat: {},
 +    ropsten: {
 +      url: `https://eth-ropsten.alchemyapi.io/v2/${ALCHEMY_API_KEY}`,
 +      accounts: [`${ROPSTEN_PRIVATE_KEY}`]
 +    }
 +  }
 +};
 +</code>
 +
 +==== Ropsten にスマートコントラクトをデプロイする ====
 +
 +Ropsten にスマートコントラクトをデプロイして実行するコマンドの例です。
 +
 +「--network ropsten」オプションを付けることで Ropsten ネットワークを選択しているのがポイントです。
 +
 +Ropsten に Greeter スマートコントラクトをデプロイ
 +<code PowerShell>
 +hardhat_project> npx hardhat run .\scripts\sample-script.js --network ropsten
 +Downloading compiler 0.8.4
 +Compiled 2 Solidity files successfully
 +Greeter deployed to: 0xaCeAe7f921287fA5B255d37e83a1859793052D8B
 +</code>
 +
 +Ropsten にコンソール接続し Greeter スマートコントラクトを実行
 +<code PowerShell>
 +hardhat_project> npx hardhat console --network ropsten
 +Welcome to Node.js v16.15.0.
 +Type ".help" for more information.
 +> const Greeter = await ethers.getContractAt('Greeter', '0xaCeAe7f921287fA5B255d37e83a1859793052D8B');
 +undefined
 +> await Greeter.greet();
 +'Hello, Hardhat!'
 +</code>
 +
 +今回デプロイした Greeter スマートコントラクトはインターネット上で稼働する Ropsten にデプロイされているため、どこからでもアクセスすることができます。[[https://ropsten.etherscan.io/address/0xaceae7f921287fa5b255d37e83a1859793052d8b#code|Etherscan(0xaCeAe7f921287fA5B255d37e83a1859793052D8B)]] で上記のスマートコントラクトアドレスをスキャンすると、Greeter スマートコントラクトのソースコードや ABI が確認できます。
blockchain/ropstenテストネットの使用.1652491594.txt.gz · 最終更新: 2022/05/14 01:26 by dot