/sapphire-paratime

Oasis Sapphire - the confidential EVM-compatible ParaTime for the Oasis Network

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Sapphire Paratime

license ci-lint ci-test ci-test

The Sapphire ParaTime is the official confidential EVM Compatible ParaTime providing a smart contract development environment with EVM compatibility on the Oasis Network.

This monorepo includes the source code for the following Sapphire packages:

Sub-Project Version Size Downloads
TypeScript version size downloads
Go version
Solidity version downloads
Hardhat version size downloads
Ethers 6.x version size downloads
Wagmi 2.x version size downloads
Viem 2.x version size downloads

Layout

This repository includes all relevant Sapphire and dependencies organized into the following directories:

  • clients: the Go, Python and JavaScript/TypeScript clients
  • contracts: Sapphire and OPL smart contracts
  • docs: topic-oriented Sapphire documentation
  • examples: sample code snippets in popular Ethereum development environments
  • integrations: plugins for popular Ethereum SDKs
  • runtime: the Sapphire Paratime as based off of the Oasis SDK

Documentation

The Sapphire documentation is deployed as part of the official Oasis documentation. To make changes visible on the docs website:

  1. Merge any changes in the docs folder to the main branch.
  2. Bump the git commit reference of the Sapphire submodule inside the external directory of the Oasis docs repository (you can simply approve the auto-generated dependabot's submodule bump PR).
  3. Merge changes into Oasis docs repository main branch. CI will deploy the docs to the website automatically.

Note: If you want to introduce a new markdown file, don't forget to add it to the Oasis documentation's sidebar. If you remove any chapters, don't forget to define sensible redirects. For more info on how to write the Oasis documentation, manage images and diagrams, reference cross-repo markdown files and similar consult the official README.

The API documentation is auto-generated from the corresponding Sapphire clients and libraries. It is deployed at:

The API docs are generated automatically every 15 minutes from the main branch.

Release

Clients & Integrations

JS libraries should be updated with a version bump in the package.json file and a respective tag in the pattern of {{path}}/v{{semver}}, such as clients/js/v1.1.1.

Contributing

Developers are encouraged to contribute their improvements to the Sapphire Paratime through this repository. Open a pull request and one of the Oasis Protocol Foundation members will check it out and get back to you!

See our Contributing Guidelines.

Build

Oasis remains committed to unlocking the full potential of privacy applications on Web3.

Build with us today!

License

This software is licensed under Apache 2.0.

The content of the documentation (the /docs folder) including the media (e.g. images and diagrams) is licensed under Creative Commons Attribution 4.0 International.