Solidity
如何將我的 Rails 應用程序連接到乙太坊網路?
目前,我只是嘗試設置最簡單的應用程序,在其中點擊按鈕並將最基本的事務發送到我的 testrpc 網路。使用 JS 和 web3 很容易做到這一點,但是如何使用 Ruby on Rails 做到這一點?
有很多方法可以將 Rails 與乙太坊連接起來,
我最近用
- 用於 Python 和 Ruby 的coinfalcon 。這提供了在此幫助下下訂單的 API。
- Ethereum Ruby這可以幫助您連接乙太坊。
在這裡你可以做:
- IPC 客戶端連接
- Solidity 合約編譯和部署
- 交易和呼叫 Solidity 函式
我發布了一個Ethereum on Rails模板。
它是一個樣板應用程序,允許在 Rails 7.0 應用程序中使用乙太坊錢包(例如 MetaMask)對使用者進行身份驗證。
您可以使用此儲存庫作為模板來創建您已經捆綁了 Ethereum 支持的自定義 Rails 應用程序。例如,它使用新的
eth
gem 進行乙太坊賬戶管理。如果您已經知道如何使用 Rails,則可以使用
eth
gem 的以下功能: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