基於Ruby on Rails開發以太坊的應用

2021-07-23 13:23:29 字數 2024 閱讀 8236

其中node執行geth或者eth,彼此通過30303埠進行p2p的連線,其上執行的協議即俗稱挖礦協議,也即共識協議,包括幾個部分,廣播交易或訊息,同步區塊等。

node即節點,經常也稱geth client或geth server。

每個node對外提供jsonrpc(8545埠)或者ipc埠,可以通過node從而對整個區塊鏈進行操作,如查詢帳戶資訊,部署合約等。

底層即blockchain層,可以選擇ethereum或者testnet或者testrpc。

作業系統ubuntu 16.04 amd64

step 1: 安裝rvm/ruby/rails

#gpg –keyserver hkp: –recv-keys 409b6b1796c275462a1703113804bb82d39dc0e3

#\curl -ssl | bash

#rvm install 2.3

#gem install bundler

#gem install rails

$ rails –v

step3: 建立乙個rails專案

$ rails new helloworld

step4: 安裝nodejs

$ curl -sl | sudo -e bash -

$ sudo apt-get install -y nodejs

$ export path=/usr/bin:$path

step5: 安裝testrpc

$ npm install –g ethereumjs-testrpc

step5b: 安裝geth/eth,這一步非必選,如果只是想體驗一下通過rails來操作區塊鏈,安裝testrpc已經足夠。

$ bash

$ bash

step6: 安裝solc /這一步也可以通過npm來安裝,不贅述。

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

$ sudo apt-get update

$ sudo apt-get install solc

至此,乙個區塊鏈的測試開發環境基本ok.

四、 整合ethereum-ruby這個gem到專案工程裡

step 1: 建立乙個新工程

$ rails new helloworld

step 2: 修改gemfile,增加ethereum

gem 『ethereum』

step 3: 執行bundle install

$ bundle install

step 4: 執行testrpc

step 5: 啟動rails console

$ rails c

並在console上建立與testrpc的鏈結如下:

step 6: 建立乙個簡單的智慧型合約

$ mkdir contracts

$ vi contracts/helloworld.sol

contract helloworld 

}step 7: 在控制台上部署和編譯

> con=ethereum::initializer.new 『contracts/helloworld.sol』, c

其執行結果如下:

> con=ethereum::initializer.new 『contracts/helloworld.sol』, c

此時如果切換到testrpc視窗,可以發現收到乙個compilesolidity的命令:

Ruby on Rails 開發環境

1 安裝jdk jdk 6u7 windows i586 p.exe 2 安裝instantrails 2.1 在任意目錄解壓縮。instantrails 2.0 win.zip instantrails內建了很多軟體,並且已經配置好 了,例如 ruby 1.8.6 rails 2.0.2 mysq...

Ruby on rails 開發學習筆記(二)

學習rails的時候我用的是 agile web development with rails 4th edition 這本書,對初學者很友好,又有乙個depot的例子。跟著坐下來感覺收益非淺。在這裡我就不贅述書中的例子了,今天講一下rails配置mysql,因為公司的專案是和mysql互動的。作業...

如何用 svn 開發 Ruby on Rails

subversion 是市面上最常用的 version controller 的系統,這篇主要是介紹如何用 subverison 開發 ruby on rails 程式。其實開發 ruby on rails 程式就跟開發其他的程式一樣,你依舊可以用任何你以前用過的 svn 技巧,但是 ruby on...