mo-fu note

研究からキックボクシングまで何でも書いていきます!

ConsenSysのsmart-contract-best-practicesについて

Ethereum Advent Calendar 2017 - Qiita の20日目の記事です。

ConsenSys/smart-contract-best-practices について

github.com

Ethereum Smart Contract Best Practices

このドキュメントはConsenSys Diligenceとその周りのEthereumコミュニティによって運用されています。 Solidityでセキュリティに関して考慮するべきことがまとめてあります。

以下にドキュメントの一部を引用したものを掲載します。

pragmaを特定のコンパイラのバージョンにロックする コントラクトは、最もよくテストされたものと同じコンパイラ・バージョンとフラグでデプロイする必要があります。 pragmaをロックすると、未知のバグのリスクがより高い最新のコンパイラなどを使用して、コントラクトが誤って展開されないようになります。 コントラクトは他の人によっても展開される可能性があり、pragmaは元の著者が意図したコンパイラのバージョンを示します。

// bad
pragma solidity ^0.4.4;


// good
pragma solidity 0.4.4;

このように、Solidityでコードを書く際のベストプラクティスがまとまっていて、 これからSolidityはじめるぞ!みたいな人達は一度読んでおくと、セキュリティに注意してコードを書くことができるようになるのではないでしょうか。

日本語翻訳について

sot528さんが翻訳をはじめていらっしゃったので、自分も少しだけ貢献しています。 github.com 翻訳中に本家のドキュメントの構成が変わってしまいましたが、、残りの翻訳を現在進めていますので、一旦全部翻訳してしまおうと思います。