0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

hardhat consoleで別ウォレットからトランザクションを送る方法 | hardhat consoleの使い方

Last updated at Posted at 2023-04-26

結論

const wallet = await ethers.getSigners(); //wallet情報取得
await contract.connect(wallet[1]).mint(); //walletを繋いで、トランザクション実行

詳細

localhostでnodeの起動

yarn hardhat node

スクリーンショット 2023-04-27 7.57.04.png

コントラクトのデプロイ

npx hardhat run --network localhost scripts/deploy.ts

※ scripts/deploy.tsはhardhatのプロジェクトを作ったときに作られたファイルです。デプロイしたいコントラクトに合わせて修正してください。ファイル名を変更した時は、最後のscripts/deploy.ts のファイル指定の部分を変更してください。

hardhat console

hardhat consoleの立ち上げ

npx hardhat console --network localhost

以下の作業はconsole内で実行 (コントラクトにトランザクションを送るための準備 ~)

コントラクトにトランザクションを送るための準備

const Contract = await ethers.getContractFactory("コントラクト名");
const contract = await Contract.attach("コントラクトのアドレス")

※ depoly.tsを修正していなければ、consoleにアドレスを吐き出すコードが含まれているので、そこで確認できます。(console.log("..${〇〇.address}.")みたいな箇所)
※ nodeを起動しているターミナルのログにもデプロイしたコントラクトのアドレスは表示されます

コントラクトにトランザクションを送る

await contract.mint()

コントラクトのmint関数を実行しています。(mint関数は自分で定義)

スクリーンショット 2023-04-27 8.13.09.png

0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 から実行されていることが分かります。
nodeを立ち上げた時に1番上に表示されたアドレスです。

別アカウントからトランザクションを送る

const wallet = await ethers.getSigners();
await contract.connect(wallet[1]).mint();

スクリーンショット 2023-04-27 8.15.05.png

0x70997970C51812dc3A010C7d01b50e0d17dc79C8から実行されていることが分かります。
nodeを立ち上げた時に2番目に表示されたアドレスです。

これで別アカウントからトランザクションを送ることが出来ました👏

 

ちなみに、walletにはnode起動時に割り当てられた20個分全てのアドレスの情報が入ってます。
スクリーンショット 2023-04-27 8.19.10.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?