RemixとローカルRSKJノードを使ったオフライン実験

Remix IDEはRSKを含むEthereumライクなブロックチェーンのためにSolidityで書かれたスマートコントラクトの実験やデプロイを行うための人気の高い環境です。この記事では、Remix IDEをローカルでRSKJノードと一緒に実行するための簡単なステップを紹介します。ローカルでのセットアップはオフラインでのテストに便利であり、Ethereum Foundationのサービスの代替としても機能します。

コンポーネント

  1. Remixユーザは以下のコンポーネントを使用して作業を行います。
    ブロックチェーン:これはローカルのブロックチェーン(例:ganache, geth, rskj)、またはパブリックのブロックチェーンエンドポイント(例:https://public-node.testnet.rsk.co)です。
  2. ブロックチェーンのクレデンシャル(アカウント、秘密鍵、署名)を管理するウォレット。
    これは多くの場合、NiftyMetamaskなどのブラウザ拡張機能で、ハードウェアウォレットを使用することもできます。
  3. ウェブブラウザのRemix IDE(通常はChromeやFirefox経由でhttps://remix.ethereum.org)。

Remixを利用するためには、ユーザはブラウザウォレットを関連するブロックチェーンに接続します。これはスマートコントラクトのデプロイや管理を行いたい場合にのみ必要となります。Remix IDEをコントラクトのコンパイルのみに使用している場合(デプロイは行わない)は、ウォレットを使用したり、ブロックチェーンに接続する必要はありません。

1つはブロックチェーン(ローカルのRSKJノード)を実行するため、もう1つはRemixにサービスを提供するためです。そして、ホストマシン上のブラウザ(ウォレット付き)を介して、これまでと同様にこれらのサービスに接続します。私はNiftyウォレット拡張機能を有効にしたGoogle Chromeを使用しました。

Ubuntu 20.04 LTSマシンがホストシステムとして機能しました。両方のコンテナにはUbuntu 18.04 LTSをベースにしたdockerイメージを使用しました。プロセスは非常に簡単で、主にそれぞれのドキュメント(RSKJとRemix)の指示に従っています。

簡単な手順

  1. 以下の手順に従ってRSKJをインストールしてください。regtestモードでノードを起動します。
  2. 以下の手順に従って、Remix IDEをインストールしてください。サービスを開始します。
  3. ブラウザでウォレット拡張機能を有効にします。ウォレットをローカルのRSKブロックチェーンに接続します(カスタムRPCエンドポイント、CORSを有効にした状態)。
  4. [JSON RPC]を使用してウォレットのアカウントに資金を供給し、Remixからの契約を展開するためのガス代を支払うことができます。

 

これで、独自のRemixサービスを利用して、独自のローカル(実験的な)ブロックチェーン上でコントラクトをコンパイルし、デプロイすることができるようになりました。

ステップの詳細

注意:ユーザーアカウントによっては、インストール時にsudoが必要な場合があります。
各サービス(ブロックチェーンノード、Remixサーバ)ごとにdockerコンテナを使用しており、sudoは必要ありませんでした。

RSKJのインストール

RSKJはRSKノードのJava実装です。ここで説明されている一般的な手順かこの再現可能なビルドを使用してください。いくつかの手順は便宜上、ここで再現しています。これらの手順はソースリンクからのものをお勧めします。バイナリはいくつかのシステムで利用可能です。少なくとも2コアと8GBのRAMを搭載したx64システムを推奨します。

 

クロスオリジンのリソース共有:ブラウザベースのウォレットからノードに接続するには、CORSを有効にしてノードを実行する必要があります。詳細はノードの設定を参照してください。これを行う1つの方法は、以下のオプションを指定してノードを起動することです(上記のオプションの代わりに)。

ノードが正常に起動していれば、メッセージはありません。これは最初は奇妙に見えるかもしれません。しかしノードは動いています! コンテナに接続された別のターミナルから http://localhost:4444 でアクセスできます。これはブラウザウォレットのカスタムRPCエンドポイントに使うURLでもあります。

curlを使用して、JSONリモートプロシージャコール(RPC)でノードをテストします。

このような応答をする必要があります。

後で使用するために、docker コンテナからホストマシンにポートを転送します。Visual Studio Code のような環境 – docker 用の拡張機能 – を使用すると本当に簡単になります。

Remix IDEのインストール

Remix IDEはオープンソースで、インストール方法はこちらを参照してください。デスクトップ版もあります(テストはしていません)。

すでに curl, git, wget, yarn などがインストールされていると仮定します。必要に応じて sudo でコマンドを実行します。

dockerを使用している場合は、ホストマシン上のブラウザからサービスにアクセスできるようにポートを転送してください。


原文:https://shreemoy.medium.com/offline-experiments-with-remix-and-local-rskj-node-713e2f724e59 By shreemoy.medium