【Ethereum】署名付きトランザクションの送信【web3.js】
【Ethereum】署名付きトランザクションの送信【web3.js】:
Ethereumベースのウォレットの署名付きトランザクションを開発していて、ググってもちょうどいい事例が見つからず試行錯誤して動くようになったので、これからやる人が私と同じ苦しみを味わわずに済むようにここに記しておく。
Ganacheを起動してね
引数はアカウントに対するウォレットの数
keynameとpasswordは適当
保存したときと同じkeynameとpasswordを使う
to: 送信先アドレス(Ganacheにデフォルトで作成されてるものでも良い)
value: 1etherをweiに変換
gas: 適当
web3.jsすごい!
それではみなさん良いクリスマスと良いお年を!
Ethereumベースのウォレットの署名付きトランザクションを開発していて、ググってもちょうどいい事例が見つからず試行錯誤して動くようになったので、これからやる人が私と同じ苦しみを味わわずに済むようにここに記しておく。
前提
- Mac
- Node.js インストール済み
- Web3.js インストール済み
- Ganache インストール済み
Ganache上にウォレットを作成してローカルストレージに保存
web3読み込み
import Web3 from 'web3'
Ganacheに接続
Ganacheを起動してねconst web3 = new Web3('http://localhost:7545')
ウォレットを1つ作成
引数はアカウントに対するウォレットの数const wallet = web3.eth.accounts.wallet.create(1)
ローカルストレージにウォレットを保存
keynameとpasswordは適当const keyname = 'wallet' const password = 'walletwallet' wallet.save(password, keyname)
ローカルストレージからウォレットを読み込んで署名付きトランザクションを送信
ローカルストレージからウォレットを読み込む
保存したときと同じkeynameとpasswordを使うconst keyname = 'wallet' const password = 'walletwallet' const wallet = web3.eth.accounts.wallet.load(password, keyname)
署名付きトランザクションを作成
to: 送信先アドレス(Ganacheにデフォルトで作成されてるものでも良い)value: 1etherをweiに変換
gas: 適当
const signedTx = wallet.signTransaction({ to: '0x827E07A9652a2CfD7fDa2aa6d1a2fB08bD0cE919', value: web3.utils.toWei('1', "ether"), gas: 2000000 })
トランザクションを送信
web3.eth.sendSignedTransaction(signedTx.rawTransaction)
まとめ
web3.jsすごい!それではみなさん良いクリスマスと良いお年を!
コメント
コメントを投稿