Ethereum for Ruby Developers
Last edit: @pettinarip, January 15, 2024
Use Ethereum to create decentralized applications (or "dapps") that utilize the benefits of cryptocurrency and blockchain technology. These dapps can be trustless, meaning that once they are deployed to Ethereum, they will always run as programmed. They can control digital assets to create new kinds of financial applications. They can be decentralized, meaning that no single entity or person controls them and are nearly impossible to censor.
Getting started with smart contracts and the Solidity language
Take your first steps to integrating Ruby with Ethereum
Need a more basic primer first? Check out ethereum.org/learn or ethereum.org/developers.
- Blockchain Explained
- Understanding Smart Contracts
- Write your First Smart Contract
- Learn How to Compile and Deploy Solidity
Beginner articles
- Finally understanding Ethereum accounts
- Finally Authenticating Rails Users with MetaMask
- Sign-In with Ethereum - Ruby Library and Rails Examples Release
- How to connect to the Ethereum network using Ruby
- How to generate a new Ethereum address in Ruby
Intermediate articles
Ruby projects and tools
Active
- eth.rb - Ruby library and RPC-client to handle Ethereum accounts, messages, and transactions
- keccak.rb - The Keccak (SHA3) hash used by Ethereum
- siwe-ruby - Ruby implementation of Sign-In with Ethereum
- siwe_rails - Rails gem that adds SIWE local sign in routes
- siwe-rails-examples - SIWE example using Ruby on Rails with custom controller
- omniauth-siwe - OmniAuth strategy for Sign In With Ethereum (SIWE)
- omniauth-nft - OmniAuth strategy for authenticating via NFT ownership
- ethereum-on-rails - Ethereum on Rails template which allows to connect MetaMask to Ruby on Rails
Archived / No longer maintained
- web3-eth - Calling RPC methods of Ethereum node with Ruby
- ethereum_tree - Ruby library to generate ETH addresses from a Hierarchical Deterministic wallet according to the BIP32 standard
- etherlite - Ethereum integration for Ruby on Rails
- ethereum.rb - Ruby Ethereum client using the JSON-RPC interface for sending transactions, creating and interacting with contracts as well as useful toolkit to work with Ethereum node
- omniauth-ethereum.rb - Implements the Ethereum provider strategy for OmniAuth
Looking for more resources? Check out our Developer's home.
Ruby community contributors
The Ethereum Ruby Telegram group is a host to a rapidly growing community and is the dedicated resource for discussions on any of the above projects and related topics.