今回はEthereumに新しく機能を追加する提案であるERC-712を紹介します。
この提案はRPCにすでにあるeth_signをさらに拡張した新しい機能を追加する提案です。μRaidenでも疑似的に実装して利用しています。
github.com
Geth 1.8.1でとりあえず動くTruffleを公開しました
追記
Geth1.8.1に対応したtruffle 4.0.8がすでにリリースされていますのでtruffleを最新版にアップデートしてください。
最新のgo-ethereum 1.8.1でgetTransactionReceiptの挙動が変わっており、それが原因で現状truffle migrate などが正常に動かなくなっています。
web3.jsやtruffleなどでもissueが上がっており、とりあえずの修正版PRがmergeされたりしてるのですが、暫定版でとりあえず動くようにしました的なtruffleが出てきてないので作りました。
github.com
インストール方法は次の通り
npm uninstall truffle npm install https://github.com/nakajo2011/truffle#fix-geth-1-8-receipt-err
この問題ちょっと根が深いので本当にとりあえず動かせるようにしただけです。正式にTruffle等から対応完了のアナウンスがあったらすぐに乗り換えてください。
ERC-20拡張提案でありOpenZeppelinにいち早く導入されたERC-827
今回は番号からわかる通り2018/02現在一番新しい(よね?)ERC-20の拡張提案であるERC-827を紹介します。
github.com
Transactionの消費gasは最大50%offまで!
Hi-Etherのslackで興味深い質問がありました。
storageのデータを削除するときには gasがrefundされるという認識だったのですが、arrayの要素を全削除するときにgasが大量にかかるのはどうしてでしょうか?教えていただきたいです。
確かに、以前の記事でstorage上からデータを削除(non zero から zeroに変更)した場合は、refundGas=15000、 used gas=5000で最終的に10000gasが戻ってくると思っていました。が、実際に100件の値を持つuintの配列を生成して削除してみると削除時に270000gasほど消費されてしまいました。
今回は、このrefundGasとtransactionで消費されるgasの計算方法について調べたことをまとめます。
続きを読むbrew install で solidity 0.4.19をインストールする
brew upgrade solidityしても0.4.19が落ちてこなくてなんでだろう?ってずっと思ったら、homeberw用の配布ファイル(になるのかな?)のsolidity.rbに記載してあるバージョン番号を書き換え忘れているのが原因だったようです。
github.com
PR出てたのでそちらを指定してbrew install実行したら無事solidity compilerをバージョンアップできました。
brew unlink solidity brew install https://raw.githubusercontent.com/dostu/homebrew-ethereum/27e8ace58eacae6c7a066d9ab362e97f666ff486/solidity.rb