/oasis-core

Performant and Confidentiality-Preserving Smart Contracts + Blockchains

Primary LanguageGoApache License 2.0Apache-2.0

Oasis Core

Build status CI lint status CI reproducibility status Docker status Release status GoDev Docusaurus

Go Go coverage
Rust Rust coverage

Note

  • Oasis Core is in active development so all APIs, protocols and data structures are subject to change.
  • The code has not yet been fully audited. For security issues and other security-related topics, see Security.

Contributing

See our Contributing Guidelines.

Security

Read our Security document.

Developer Documentation

See our developer documentation index.

Developing and Building the System

See a list of prerequisites followed by build instructions and an example of setting up a local test network with a simple runtime.

Directories

  • client: Client library for talking with the runtimes.
  • docker: Docker environment definitions.
  • go: Oasis node.
  • keymanager-api-common: Common keymanager code shared between client and lib.
  • keymanager-client: Client crate for the key manager.
  • keymanager-lib: Keymanager library crate.
  • runtime: The runtime library that simplifies writing SGX and non-SGX runtimes.
  • runtime-loader: The SGX and non-SGX runtime loader process.
  • scripts: Bash scripts for development.
  • tests: Runtimes, clients and resources used for E2E tests.
  • tools: Build tools.

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.