諸事情により、実験的に steemit で軽く記事を書いていこうと思います。
ということで、まずは比較的キャッチーなネタである Solidity v0.5.0 Breaking Changes の中から気になったものをピックアップしていくシリーズでもやってみようかなと。続くかなこれ。不安です。
今回は、keccak256()
の引数についてです。
サンプルコード
v0.4.25
Warning は出ますが、複数の引数を渡せました。
keccak256(...) returns (bytes32)
実際のコードは以下のような感じになります。
pragma solidity ^0.4.25;
contract Old {
function f() public pure returns(bytes32) {
byte b = 0x00;
uint8 i = 0;
string memory s = "zero";
return keccak256(b, i, s);
}
}
f()
の実行結果は以下のようになります。
0x8189e29de3da4d4f173407fc89da994321d99458b5ed5bb8f99c98a7161e2955
v0.5.0
以下のように、bytes
1 つしか渡せないようになりました。
keccak256(bytes memory) returns (bytes32)
よって、上記 v0.4.25 のサンプルコードと同じ結果を得るためには、以下のように abi.encodePacked()
してから渡す必要があります。既によく見かけるコードですね。
pragma solidity >0.4.99 <0.6.0;
contract New {
function f() public pure returns(bytes32) {
byte b = 0x00;
uint8 i = 0;
string memory s = "zero";
return keccak256(abi.encodePacked(b, i, s));
}
}
f()
の実行結果は以下のようになります(先ほどと同じです)。
0x8189e29de3da4d4f173407fc89da994321d99458b5ed5bb8f99c98a7161e2955
補足
v0.5.0 では、上記に関連した以下のような変更も入っていますので、ご注意ください。
keccak256()
だけでなく、以下の function も引数がbytes
1 つになりました.call()
.delegatecall()
.staticcall()
sha256()
ripemd160()
keccak256()
のエイリアスだったsha3()
は使えなくなりました
@m0t0k1ch1さん、STEEMITへようこそ! STEEMITで会えてうれしいですね。VOTEしました。 :}(これはWITNESSとして日本のSTEEMITコミュニティへいちょっとした貢献です。)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
ありがとうございます!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
ようこそ、steemitへ
日本のコミニティを応援している @steemit-jpです。@steemit-jpは日本の良い記事を推薦するJapan Daily Curationを実施しています。
また、新しいメンバーへのサポートを推進しています。レピテーション50になるまでタグに jp-newbie を使用していただくと支援のvoteをいたします。
その他イベントなども開催しておりますので、ぜひご参加ください。それでは楽しいsteemit生活をお過ごしください。
日本コミュニティのDiscordチャットで質問もOK!登録しよう!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
ありがとうございます!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
はじめまして。 @yasu24と申します。よろしくお願いします。 @M0t0k1ch1さん、エンジニアの方でしょうか?
私、Steemブロックチェーンを使った日本発のサードパーティが出るようになったら面白いかもと思っています。
Posted using Partiko iOS
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
やばいレベルの一人ですよ!
CryptoecomicsとPlasmaの神様です。
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
あらっ、そうなのですね!教えていただき、ありがとうございます。 @fusanがそうおっしゃるのは、説得力あります。
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
コメントありがとうございます。サードパーティが乗って盛り上がってこそ、Blockchain レイヤーからやっている Steem の価値がありますよね。自分で力になれることがあるかわかりませんが、まずはユーザーとしてもう少し steemit と Steem の仕組みを把握しようと思います。ホワイトペーパーはざっと読んでるのですが、実際に使ってみるとまた見えるものが違うなあと。
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
ご返信、ありがとうございます!クラウドファンディングのプラットフォーム @funditionを覗いてみていただき、感想をいただけたら、、、とコメントしたくなりました。少し関わっているので。
エンジニアの方は、 @utopian-ioも面白いかもしれません。また、広く使われている @busy.orgは、 https://ulogs.org/ のもとになっていたりします。
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
m0tok1ch1さん!ようこそ!
Steemitで何がしかを得られることを期待しております!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
fusan だ!ありがとうございます!必ずや、何かしら得ます笑
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @m0t0k1ch1! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word
STOP
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @m0t0k1ch1! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word
STOP
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
モトキチさんがsteemにも来た笑
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
あれ、ここにもいたのね笑
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit