Solidity

如何將我的 Rails 應用程序連接到乙太坊網路?

  • February 10, 2022

目前,我只是嘗試設置最簡單的應用程序,在其中點擊按鈕並將最基本的事務發送到我的 testrpc 網路。使用 JS 和 web3 很容易做到這一點,但是如何使用 Ruby on Rails 做到這一點?

有很多方法可以將 Rails 與乙太坊連接起來,

我最近用

  • 用於 Python 和 Ruby 的coinfalcon 。這提供了在此幫助下下訂單的 API。
  • Ethereum Ruby這可以幫助您連接乙太坊。

在這裡你可以做:

  1. IPC 客戶端連接
  2. Solidity 合約編譯和部署
  3. 交易和呼叫 Solidity 函式

我發布了一個Ethereum on Rails模板。

它是一個樣板應用程序,允許在 Rails 7.0 應用程序中使用乙太坊錢包(例如 MetaMask)對使用者進行身份驗證。

您可以使用此儲存庫作為模板來創建您已經捆綁了 Ethereum 支持的自定義 Rails 應用程序。例如,它使用新的ethgem 進行乙太坊賬戶管理。

如果您已經知道如何使用 Rails,則可以使用ethgem 的以下功能:

test_rpc = Eth::Client.create "http://127.0.0.1:8545"
some_trx = Eth::Tx.new {
 chain_id: test_rpc.chain_id,
 nonce: test_rpc.get_nonce test_rpc.default_account,
 priority_fee: 1 * Eth::Unit::GWEI,
 max_gas_fee: 23 * Eth::Unit::GWEI,
 gas_limit: Eth::Tx.estimate_intrinsic_gas,
 to: Eth::Address.new "0xCaA29806044A08E533963b2e573C1230A2cd9a2d",
 value: 1 * Eth::Unit::ETHER,
}

然後就可以簽名廣播了,見:https ://github.com/q9f/eth.rb/wiki/Transactions

或者簡單地執行:

test_rpc.transfer Eth::Address.new("0xCaA29806044A08E533963b2e573C1230A2cd9a2d"), 1 * Eth::Unit::ETHER

https://github.com/q9f/eth.rb/wiki/RPC-Client

引用自:https://ethereum.stackexchange.com/questions/24364