Ethereum スマートコントラクトのエンコードされた関数シグネチャを得る
- Ethereum スマートコントラクトのエンコードされた関数シグネチャを得る方法のメモです。
エンコードされた関数シグネチャとは
- スマートコントラクトの関数を call するコードをローレベルで書いたり、マルチシグウォレットからスマートコントラクトの関数を call する際に必要となります。
-
functionName(type1,type2,...)
という関数のプロトタイプ文字列を、Keccak256 でハッシュ化したあとの最初の4バイトがエンコードされた関数シグネチャになります。
- たとえば、
sendMessage(string message, address to)
という関数の場合、エンコードされた関数シグネチャはsendMessage(string,address)
を Keccak256 でハッシュ化した最初の4バイト 0xc48d6d5e
です。
Web3 を使用して関数シグネチャを得る
- Web3 1.0.0 では、エンコードされた関数シグネチャを簡単に得ることのできる関数が用意されています。
let encodedFunctionSignature = web3.eth.abi.encodeFunctionSignature('sendMessage(string,address)');
console.log(encodedFunctionSignature);
// => 0xc48d6d5e
デモ
関連
参考
Note
- Ethereum 関連の情報は https://scrapbox.io/sushiether/ に集約することにしました。
- この記事の内容に変更・更新がある場合は、以下の URL を更新します。
- https://scrapbox.io/sushiether/Ethereum_スマートコントラクトのエンコードされた関数シグネチャを得る
functionName(type1,type2,...)
という関数のプロトタイプ文字列を、Keccak256 でハッシュ化したあとの最初の4バイトがエンコードされた関数シグネチャになります。sendMessage(string message, address to)
という関数の場合、エンコードされた関数シグネチャはsendMessage(string,address)
を Keccak256 でハッシュ化した最初の4バイト 0xc48d6d5e
です。- Web3 1.0.0 では、エンコードされた関数シグネチャを簡単に得ることのできる関数が用意されています。
let encodedFunctionSignature = web3.eth.abi.encodeFunctionSignature('sendMessage(string,address)');
console.log(encodedFunctionSignature);
// => 0xc48d6d5e
デモ
関連
参考
Note
- Ethereum 関連の情報は https://scrapbox.io/sushiether/ に集約することにしました。
- この記事の内容に変更・更新がある場合は、以下の URL を更新します。
- https://scrapbox.io/sushiether/Ethereum_スマートコントラクトのエンコードされた関数シグネチャを得る
参考
Note
- Ethereum 関連の情報は https://scrapbox.io/sushiether/ に集約することにしました。
- この記事の内容に変更・更新がある場合は、以下の URL を更新します。
- https://scrapbox.io/sushiether/Ethereum_スマートコントラクトのエンコードされた関数シグネチャを得る
- Ethereum 関連の情報は https://scrapbox.io/sushiether/ に集約することにしました。
- この記事の内容に変更・更新がある場合は、以下の URL を更新します。
- https://scrapbox.io/sushiether/Ethereum_スマートコントラクトのエンコードされた関数シグネチャを得る
Author And Source
この問題について(Ethereum スマートコントラクトのエンコードされた関数シグネチャを得る), 我々は、より多くの情報をここで見つけました https://qiita.com/hm0429/items/568b83937eefb0dfb9f2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .