Ruby on Rails をベースにした Ethereum アプリケーションの開発

Ruby on Rails をベースにした Ethereum アプリケーションの開発

1. イーサリアムのネットワークアーキテクチャを理解する

ノードは geth または eth を実行し、p2p のポート 30303 を介して相互に接続します。これら上で実行されるプロトコルは、一般にマイニング プロトコル、またはコンセンサス プロトコルと呼ばれ、トランザクションやメッセージのブロードキャスト、ブロックの同期など、いくつかの部分が含まれます。

Node はノードであり、geth クライアントまたは geth サーバーとも呼ばれます。

各ノードは外部にJSONRPC(ポート8545)またはIPCポートを提供し、アカウント情報の照会、契約の展開など、ブロックチェーン全体をノードを通じて操作できます。

Ethereumのウォレットは、IPCイン​​ターフェースを通じてブロックチェーンを操作する典型的なアプリケーションですが、dApp(分散型アプリ)ではありません。

2. イーサリアムのdAppアーキテクチャ

上記のネットワーク アーキテクチャを理解すると、Ethereum dApp のアーキテクチャを理解しやすくなります。

最下層はブロックチェーン層で、Ethereum、Testnet、または Testrpc を選択できます。

緑色の部分は、選択するフレームワークによって大きく異なりますが、基本的な原則は同じです。つまり、フレームワークはブロックチェーン インターフェイスを操作する機能、できれば完全なプロトコル スタックを提供する必要があります。公式の web3.js は node.js に基づく完全な RPC プロトコル インターフェイスであるため、JS に基づく Web フレームワークを使用する方が自然です。より有名なのはトリュフで、公式に推奨されているのはメテオです。しかし理論的には、ブロックチェーンと対話するためのプロトコル(つまり、8545 RPC ポートへの接続)を提供するフレームワークであればどれでも dApp の実装に使用でき、その 80% 以上は従来の WEB またはモバイル アプリケーション開発コンテンツです。

3. 環境整備

オペレーティングシステム Ubuntu 16.04 AMD64

ステップ1: rvm/ruby/railsをインストールする

#gpg –キーサーバー hkp://keys.gnupg.net –recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

#\curl -sSL https://get.rvm.io |バッシュ

#rvm 2.3 をインストール

#gem バンドラをインストール

#gem レールをインストールする

ステップ 2: 上記の手順を実行すると、Rails 4.2.x がシステムにインストールされているはずです。中国では Ruby を使用する開発者は多くないため、限られたグループには環境をインストールするための基本的なスキルが必要です。なお、この記事では Rails のインストールと使用については重点的に扱いません。ご不明な点がございましたら、Baidu または Google で検索してください。環境をチェックして、レールが正しく実行されていることを確認します。

$レール –v

ステップ3: Railsプロジェクトを作成する

$レール新しいhelloworld

ステップ4: nodejsをインストールする

$ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -

$ sudo apt-get install -y nodejs

$ エクスポート PATH=/usr/bin:$PATH

ステップ5: testrpcをインストールする

$ npm インストール –g ethereumjs-testrpc

ステップ5b: geth/eth をインストールします。この手順はオプションです。 Rails経由でブロックチェーンの操作を体験したいだけであれば、testrpcをインストールするだけで十分です。

$ bash <(curl https://install-geth.ethereum.org -L)

$ bash <(curl https://install-eth.ethereum.org -L)

ステップ6: solc をインストールします。 /このステップは npm 経由でインストールすることもできるので、詳細は説明しません。

$ sudo add-apt-repository ppa:ethereum/ethereum

$ sudo apt-getアップデート

$ sudo apt-get install solc

この時点で、ブロックチェーンのテスト開発環境は基本的に問題ありません。

4. ethereum-ruby Gemをプロジェクトに統合する

ステップ1: 新しいプロジェクトを作成する

$レール新しいhelloworld

ステップ2: Gemfileを変更してイーサリアムを追加する

宝石「イーサリアム」

ステップ3: バンドルインストールを実行する

$ バンドルインストール

ステップ4: testrpcを実行する

ステップ5: Railsコンソールを起動する

$ レール c

次のようにして、コンソールで testrpc とのリンクを確立します。

ステップ6: シンプルなスマートコントラクトを作成する

$ mkdir 契約

$ vi コントラクト/Helloworld.sol

契約 Helloworld {

マッピング (アドレス => bool) public myMapping;

関数レジスタ(アドレス_a、バイト32_b) {

}

}

ステップ7: コンソールでデプロイしてコンパイルする

> con=Ethereum::Initializer.new 'contracts/Helloworld.sol', c

結果は次のとおりです。

> con=Ethereum::Initializer.new 'contracts/Helloworld.sol', c

この時点で testrpc ウィンドウに切り替えると、compileSolidity コマンドを受信して​​いることがわかります。


<<:  ビットコインは最大の障害である分散化を克服し、最善のガバナンスを実現できるでしょうか?

>>:  NSAがハッキングされた可能性、ハッカーは重要文書をオークションにかけるためビットコインで5億6800万ドルを要求

推薦する

メキシコで3番目に裕福な男性が「レーザーアイ」アバターをリリース、彼の銀行がまもなくビットコインを受け入れると発表

メキシコで3番目に裕福な人物、リカルド・サリナス・プリエゴ氏は「レーザーアイ」のアバターを投稿し、コ...

ソシエテ・ジェネラルがビットコイン開発者を募集

Bitcoin Houseニュース7月23日CoinDeskは、フランス最大の商業銀行グループの1つ...

アルトコインの変容を認識することの重要性

クレイジー解説:ブロックチェーンと投資の専門家は、ブロックチェーン分野の投資潜在力を分析し、市場の需...

アメリカは5年以内に100万ビットコインを準備するでしょうか?

少し前、米国上院議員シンシア・ラミス氏が「2024年ビットコイン法」と呼ばれるビットコインに関する法...

意見 | 1 BTCは2025年に100万ドルに達するでしょうか?

編集者注: 原題は「視点 | ビットコインが1コインあたり100万ドルに到達するのは現実的か?」です...

華強北ではマイニングマシン事業はもうありません。巨額の利益を生む時代は終わり、多くのディーラーが市場から撤退しました。

マイニングマシンが販売されている3階から5階では、店舗販売員が最も多く、まるで「行列歓迎」を受けてい...

BitDeerとViaBTCが協力し、オンラインで多額の報酬と特典を開始

世界有数のマイニングマシン共有プラットフォームであるBitDeer.comと、業界で有名なマイニング...

1475アンディ:Tで課金する採掘機はそれ自体が誤った命題である

メインネットのローンチ日が近づくにつれ、Filecoin に対する外の世界の熱意も高まっていますが、...

ロンドン証券取引所が初のブロックチェーン株を歓迎、クラウドマイニング企業アルゴは上場のために2000万ポンドを調達予定

クラウドマイニング企業アルゴは、英国上場局からロンドン証券取引所(LSE)への上場許可を取得したとフ...

カナダ銀行、ブロックチェーンベースのカナダドルのデジタル版を開発

カナダ銀行は昨日、ブロックチェーン技術に基づいたカナダドルのデジタル版「CADコイン」を開発中である...

新しいインフラ啓蒙:BTCマイニングを理解していない人は良い投資家ではない

最近、熱く議論されている新しいインフラは、チップ、IDC、5G、投資機関などの関連業界を「興奮」させ...

マスターカード、ニューヨーク生命保険がデジタル通貨グループの新たな資金調達ラウンドに参加

デジタル通貨グループ(DCG)が10月28日に発表したニュースリリースによると、決済大手のマスターカ...

【上級教室】マイニングマシンはコインを何枚採掘できるのか?

Filecoin のテスト ネットワークの第 2 フェーズの開始に伴い、当局は 400 万 FIL...

ブロックチェーン技術 - 第四次産業革命へ向かう最良の方法

第一次産業革命により蒸気動力と工場が誕生しました。第二次産業革命により鉄道と電気が誕生しました。第三...

マイニングアプリがオンラインになりました [マイニングツール]

仕事をうまくやりたかったら、まず道具を研がなければなりませんすべてのマイナーは、一般的に使用する独自...