Mainnet にデプロイするための準備

完了

Ethereum の Mainnet にデプロイする前に、コードを十分にテストして監査する必要があります。 Mainnet で作業するには、実際の Ether が必要ですが、これには実際のお金がかかり、すぐにかなりの金額になる危険性があります。

コードの開発、テスト、監査が終了したら、1 つ以上の Testnet でプロジェクトを実行し、すべての問題を解決します。 ほとんどのプロジェクトは、Mainnet にデプロイされる前に、包括的なプロセスに従います。 このプロセスには、監査、テスト、セキュリティ、ガバナンスが含まれます。 このプロセスにより、Mainnet で問題が発生するリスクとそのコストが最小限に抑えられます。

準備して、Ethereum の Mainnet にデプロイするプロセスには、次の一連の手順が含まれます。

  1. スマート コントラクトの監査。
  2. ソース コードの検証。
  3. キーの管理。
  4. プロジェクト ガバナンスの処理。

以下のセクションでは、これらの手順について説明します。

スマート コントラクトの監査

パブリック ネットワークにデプロイする前に、スマート コントラクトのセキュリティについて監査と評価を行うことが必須です。 スマート コントラクトがデプロイされると、ネットワーク上のだれでも、任意のペイロードを使用して、トランザクションをコントラクトに直接送信できます。 コントラクトのソース コードとコントラクトの状態は、すべて一般公開されます。

ブロックチェーン上のトランザクションは変更できないため、コミット後のトランザクションは永続的です。 トランザクションによって、資金の盗難や他の悪意のあるアクティビティが発生するおそれがあります。 このため、スマート コントラクトをデプロイ前に監査する必要があります。

ソース コードの検証

mainnet にコントラクトをデプロイした直後に、Solidity コードをサード パーティに送信して、スマート コントラクトのソース コードの検証を行います。 Etherscan などのパブリック サービスでは、コントラクトのコードがコンパイルされ、デプロイされたアセンブリに対して検証されます。 このプロセスにより、ブロック エクスプローラーでコントラクトのコードを表示したユーザーが、コントラクトがそのアドレスで実行されているアセンブリに対応していることを確認できます。

Solidity ソース コードを検証して公開するには、まず、コントラクトのソース コードを入力します。 生成されたバイトコードが既存の作成アドレス バイトコードと一致する場合、コントラクトは検証済みです。 この後、コントラクトのソース コードが公開され、だれでもパブリックに確認できます。

キーの管理

Mainnet にデプロイする場合、秘密キーを安全に管理することが必須です。 この手順では、秘密キーの侵害、紛失、または盗難が発生しないように、厳重な予防措置が必要です。

キーが適切に管理されなかったために、深刻な盗難や紛失の事件がいくつか発生したことがあります。 スマート コントラクトをデプロイしてやり取りするために使用するアカウントでは、実際の Ether が保持されます。 これは、ハッカーの標的になります。 秘密キーを安全に保管するための一般的な方法として、ハードウェア ウォレットコールド ストレージがあります。これらは、どのネットワークにも接続されることがないコンピューターです。

プロジェクト ガバナンスの処理

分散型プロジェクトを管理する方法は、コミュニティやユーザー ベースによって異なります。 多くの場合、分散型システムの更新やその他の側面の管理方法を決定するための組織が設置されています。

プロジェクトのガバナンスは、いくつかの方法で管理できます。 信頼された管理者からなる小さなグループによって管理することも、すべてのプロジェクト利害関係者による公開投票で管理することもできます。 この場合、正しい答えはありません。 結局のところ、構築しているソリューションと、コミュニティやユーザーがだれであるかによって決まります。