| description | Develop new dApps on Sapphire |
|---|
import DocCardList from '@theme/DocCardList'; import {findSidebarItem} from '@site/src/sidebarUtils';
As Sapphire is EVM-compatible, you can use the same dev tooling as you would when building on Ethereum. Additionally, we build tools to support you in creating secure and confidential dApps.
Feel free to check out the Concepts page to get a better understanding of the transaction flow and the contract state.
Sapphire is programmable using any language that targets the EVM, such as Solidity, Fe or Vyper. If you prefer to use an Ethereum framework like Hardhat or Foundry, you can also use those with Sapphire; all you need to do is set your Web3 gateway URL. You can find the details of the Oasis Sapphire Web3 endpoints on the Network information page.
<DocCardList items={[ findSidebarItem('/build/sapphire/develop/deployment'), findSidebarItem('/build/sapphire/develop/gasless'), findSidebarItem('/build/sapphire/develop/security'), findSidebarItem('/build/sapphire/develop/authentication'), ]} />
Randomness, Subcalls and More Precompiles in the contracts API reference
To connect your frontend to your smart contracts, see the Browser chapter.
If you want to connect and execute transactions from your backend. Sapphire has three clients in different programming languages:
| Language | Package | API Reference | GitHub |
|---|---|---|---|
| Javascript | @oasisprotocol/sapphire-paratime | API | GitHub |
| Go | @oasisprotocol/sapphire-paratime | API | GitHub |
| Python | API | GitHub |
Test confidential contracts with Hardhat or Ethers.
See our Examples page for demo dApps that bring all the above together.
<DocCardList items={[ findSidebarItem('/build/tools/abi-playground'), findSidebarItem('/build/tools/localnet'), findSidebarItem('/build/tools/remix'), findSidebarItem('/build/tools/verification'), findSidebarItem('/build/tools/band'), ]} />
Should you have any questions or ideas to share, feel free to reach out to us on discord and other social media channels.