web3.utils.sha3はSolidityと挙動が違うので注意 soliditySha3を使おう

web3には二種類のsha3関数があります。

web3.utils.sha3と

web3.utils.soliditySha3の2つです。

Solidityのsha3関数と同じ挙動をするのはweb3.utils.soliditySha3です。

詳しくは公式ドキュメントを確認して下さい。

sha3の説明に、次のように書いてあります。

Note

To mimic the sha3 behaviour of solidity use soliditySha3

注意

Solidityのsha3の挙動を模倣するにはsoliditySha3を使って下さい

 

簡単に説明をすると、web3.utils.sha3はStringを一つだけ受け取り、それをbyte arrayに変換してハッシュします。

一方、web3.utils.soliditySha3は入力の型認識を行ったり、各引数をtightly packしたりします。

【追記】プログラミングスクールのレビューサイトを開発しました。

この度、プログラミングスクールのレビューサイトの「スクールレポート」を開発しました。

プログラミングスクールの人気は年々高まっているものの、高額な受講料を請求しておきながら質の低い教育を提供する悪質なスクールも見受けられるようになってきました。

今回開発した「スクールレポート」では受講生の方のみレビューを投稿することが出来ます。

プログラミングスクール業界がより健全なものになることを願っています。

スポンサーリンク