Oraichain
  • ORAICHAIN
    • Introduction
    • System Overview
      • AI Layer 1 for Data Economy & blockchain oracle services
      • Layer 2 Rollups and Subnetworks
      • Verifiable and trustless AI Execution
      • Protocol Messages
      • IBC Integration
    • Use Cases
    • Token Economics
  • DEVELOPER GUIDES
    • General
      • Blockchain details
    • CosmWasm Contracts
      • Compile a Contract
      • Deploy a Contract
      • Query a Contract
      • Send tokens to a Contract
      • Manage Contracts using design patterns
      • End-to-end CosmWasm testing with CW-simulate
    • Local testnet chain
    • Wallet
      • OWallet
    • Price Feed
      • CW Oracle Hub
    • VRF 2.0
      • Introduction to Oraichain VRF 2.0
      • Get a Random Value from API
        • Get VRF Value from different networks
        • Contract Addresses and Pricing
        • Validate a Group Signature
      • Security Remarks
      • API Reference
      • Get support from Oraichain team
    • OraiDEX
      • ORAIX Token
      • OBridge
        • OraiBTC
        • TON Bridge
          • TON Blockchain 101
      • Decentralization
    • Indexers
      • SubQuery
    • OraichainEVM
      • Getting started
      • Smart Contracts
        • Oraichain EVM Precompiled Contracts
        • Address
        • Bank
        • Wasm
        • Authz
      • Guides
        • Metamask
        • Remix
        • Foundry
        • Hardhat
        • Tools
        • Oraichain EVM RPC
  • GOVERNANCE
    • Privacy Policy
  • NODES & VALIDATORS
    • Networks
      • Joining Mainnet
        • Build Linux binary from source and become a Sentry Node Operator
        • Become a Validator
      • Joining Testnet
        • Become Testnet Fullnode From Source
        • StateSync Testnet
        • Faucet Testnet
    • Oraichain Tutorials
      • Migrate one Oraichain node to another
      • Cosmovisor
      • Update validator image
      • Tenderduty
      • Grafana
      • Tracking Unvoted Proposals
      • Tmtop
Powered by GitBook
On this page
  • Build EVM smart contracts with Solidity
  • EVM Precompiled contracts
  • Deploy with Ethereum JSON-RPC

Was this helpful?

Edit on GitHub
  1. DEVELOPER GUIDES
  2. OraichainEVM

Smart Contracts

PreviousGetting startedNextOraichain EVM Precompiled Contracts

Last updated 1 month ago

Was this helpful?

Since the inception of Ethereum in 2015, the capability to govern digital assets through smart contracts has attracted a substantial community of developers, fostering the creation of decentralized applications (dApps) on the Ethereum Virtual Machine (EVM). This community continues to expand by developing comprehensive tools and establishing new standards, thereby accelerating the adoption of EVM-compatible technologies.

Whether you are developing novel use cases on Oraichain or migrating an existing dApp from another EVM-based blockchain, such as Ethereum, Oraichain provides a seamless environment to build and deploy EVM smart contracts to implement the core business logic of your dApp. Oraichain is fully compatible with the EVM, enabling the use of widely recognized tools, including Solidity, Remix, Oracles, and APIs like Ethereum JSON-RPC.

Furthermore, leveraging the interoperability of Cosmos-based blockchains, Oraichain facilitates the development of scalable cross-chain applications within the familiar EVM framework. The following section outlines the essential components involved in building and deploying EVM smart contracts on Oraichain.

Build EVM smart contracts with Solidity

You can develop EVM smart contracts on Oraichain using . Solidity is also used to build smart contracts on Ethereum. So if you have deployed smart contracts on Ethereum (or any other EVM-compatible chain) you can use the same contracts on Oraichain.

Since it is the most widely used smart contract programming language in Blockchain, Solidity comes with well-documented and rich language support. Head over to our list of Tools and IDE Plugins to help you get started.

EVM Precompiled contracts

EVM precompiled contracts that are built into the Ethereum Virtual Machine (EVM). Each offers specific functionality, that can be used by other smart contracts. Generally, they are used to perform operations that are either not possible or would be too expensive to perform with a regular smart contract implementation, such as hashing, elliptic curve cryptography, and modular exponentiation.

By adding custom EVM precompiled contracts to Ethereum's basic feature set, Oraichain allows developers to use previously unavailable functionality in smart contracts, like native Cosmos Bank operation. This will allow more complex smart contracts to be built on Oraichain and further improve the interoperability between Cosmos and Ethereum. It also is a key feature to achieve Oraichain' vision of being the definitive dApp chain, where any dApp can be deployed once and users can interact with a wide range of different blockchains natively.

To enable the described functionalities, Oraichain introduces so-called stateful precompiled smart contracts, which can perform a state transition, as opposed to those offered by the standard Go-Ethereum implementation, which can only read state information. This is necessary because an operation like e.g. staking tokens will ultimately change the chain state. View a list of available precompiled contract .

Deploy with Ethereum JSON-RPC

Oraichain is fully compatible with the Ethereum JSON-RPC APIs, allowing you to deploy and interact with smart contracts on Oraichain and connect with existing Ethereum-compatible web3 tooling. This gives you direct access to reading Ethereum-formatted transactions or sending them to the network.

You can connect to the Oraichain to deploy and test your smart contracts before moving to Mainnet.

Block Explorers​

You can use to view and debug interactions with your smart contracts deployed on Oraichain. Block explorers index blocks and their transactions so that you can search for real-time and historical information about the blockchain, including data related to blocks, transactions, addresses, and more.

Solidity
here
Testnet
​
block explorers