オントロジーEVMコントラクト開発に必要なすべてのこと
パート1:ネットワークの詳細
本日、Web 3.0に分散型のアイデンティティとデータのソリューションをもたらす高速・低コストのパブリック・ブロックチェーンであるオントロジーは、EVMをサポートするテストネットの正式デプロイを発表し、EVM対応のパブリックベータ版を世界中の開発者に公開しました。同時に、コード監査機関として知られるSlowMistの協力を得て、Ontology Security Vulnerability and Threat Intelligence Bounty Programme (セキュリティ脆弱性/脅威インテリジェンス報奨金プログラム)を正式に開始しました。脆弱性を報告した場合の最高報酬は、12,000ドル相当のONGです。
イーサリアム仮想マシンの統合により、オントロジーはEthereumエコシステムとの完全な互換性を実現しました。現在、オントロジーテストネットは、EVMコントラクトとEthereumチェーンのノードコール方式に対応しています。開発者は、Truffle、Remix、Web3.jsなどのEVM開発ツールをオントロジーテストネット上で直接利用し、dAppsをデプロイすることができます。
コミュニティの開発者がオントロジーEVMの開発環境に素早く簡単に慣れることができるように、オントロジーEVMコントラクト開発の要点を解説した「ハンドブック・フォー・ダミー」を特別に用意しました。
1. ネットワークの詳細
オントロジーEVMを使用する前に、まず、ChainID、RPC URL、ブロックチェーンエクスプローラーのアドレスなどの設定情報を見ていきましょう。この情報に基づいて、MetaMaskウォレットをオントロジーネットワークに接続するように設定することができます。
オントロジーEVMのONG精度(9ビット)とMetamaskの対応精度(18ビット)の違いにより、Metamaskでの表示に誤差が生じる場合があります。ONGの残高確認や送信には、オントロジーブリッジの利用を推奨します。
1.1 ノードネットワーク
- メインネット情報
2. テストネット情報
注意:MetaMaskを使用してオントロジーネットワークに接続する場合は、MetaMaskのネットワーク設定で「Custom RPC」を選択し、ネットワークの種類に応じた設定情報を入力・保存してください。
1.2 オントロジーチェーン上のEVMアセット
テストネット
1.3 ガス代
EVMコントラクトをオントロジーチェーンにデプロイするには、手数料としてONGが必要です。こちら をクリックして、ONGテストコインを受け取ることができます。
1.4 オントロジーブリッジ
オントロジーネットワークは、仮想マシン「オントロジーEVM」により、Ethereumエコシステムとの互換性を実現しています。そのため、オントロジーがサポートするコントラクトタイプには、ネイティブコントラクトに加えて、NeoVMコントラクト、Wasmコントラクト、EVMコントラクトが含まれています。これは、NeoVMベースのOEP-4トークンとEVMベースのORC-20トークンがオントロジーブロックチェーン上に存在できることも意味します。EVMがサポートするアドレス形式と署名方式はNeoVM/WasmVMがサポートするものとは異なるため、ORC-20アセット(EVMコントラクト実装、ERC-20アセットと同様)、オントロジーシステムはEthereum秘密鍵対応アドレス(0xで始まる)に、OEP-4アセット(NeoVMコントラクト実装)はOntology秘密鍵対応アドレス(Aで始まる)に保存する必要があります。オントロジーネットワークのONGの取引手数料は例外なので、EthereumのアカウントアドレスとオントロジーのアカウントアドレスにONGも存在することができます。
オントロジーネットワーク内のORC-20アセットとOEP-4アセットを、Ethereumアカウントとオントロジーアカウントの間で相互に流通させるために、オントロジーブリッジ サービスを提供しており、オントロジーネットワークがBridgeコントラクト(Wasmコントラクトで実装)を展開して、2つの異なるタイプのアカウント間でORC-20アセットとOEP-4アセットの相互交換を実現しています。ONGの場合、ユーザーはオントロジーブリッジを使って異なる種類のアドレス間で送信することができます。
オントロジーブリッジ・コントラクト実装ロジック
- OEP-4 を ORC-20 に交換
- ユーザーはオントロジーの秘密鍵署名を介してブリッジコントラクトのoep4ToErc20メソッドを呼び出します。この方法では、ユーザーのOEP-4アセットをブリッジコントラクトアドレスに転送し、ブリッジコントラクトアドレスにあるERC-20アセットの対応分を、ユーザーのEthereum秘密鍵生成アドレスに転送しています。
- ORC-20 を OEP-4 に交換
- ユーザーはまず、Ethereumの秘密鍵を使ってORC-20アセットのapproveメソッドを呼び出し、ユーザーのオントロジー秘密鍵に対応するアドレスを認証して、ORC-20アセットを転送できるようにする必要があります。
- ユーザーは認証されたオントロジー秘密鍵を使って、ブリッジコントラクトのERC-20 to OEP-4メソッドを呼び出します。この方法では、ユーザーのEthereumアドレスにあるアセットをブリッジコントラクトアドレスに転送し、その分のOEP-4アセットをユーザーのオントロジーアドレスに転送します。
なお、前述の2つのアセット交換プロセスのいずれにおいても、ユーザーのEthereumアドレスのアセットを転送するために、ユーザーは常にオントロジー秘密鍵を使用してブリッジコントラクトとやりとりします(ユーザーは認証操作にEthereum秘密鍵を使用する必要があります)。償還プロセスでは、ORC-20アセットは常にEthereum秘密鍵に対応するアドレスを持ち、OEP-4アセットは常にオントロジー秘密鍵に対応するアドレスを持つことを覚えておいてください。
オントロジーについて
分散型データとアイデンティティのソリューションについて、詳しくは ウェブサイト および公式 ツイッター(日本語)をご覧ください。
また、テレグラム(英語)でチャットをしたり、公式発表用テレグラム(英語)で最新情報を入手することもできます。