Oasis Core
[![Build status][buildkite-badge]][buildkite-link] [![CI lint status][github-ci-lint-badge]][github-ci-lint-link] [![CI reproducibility status][github-ci-repr-badge]][github-ci-repr-link] [![Docker status][github-docker-badge]][github-docker-link] [![Release status][github-release-badge]][github-release-link] [![GoDev][godev-badge]][godev-link] [![Docusaurus][docusaurus-badge]][docs-link]
| Go | [![Go coverage][codecov-badge]][codecov-link] | |:-------------:|:---------------------------------------------------:| | Rust | [![Rust coverage][coveralls-badge]][coveralls-link] |
[buildkite-badge]: https://badge.buildkite.com/16896a68bd8fba45d7b41fd608f26f87c726da10f7f24694a0.svg?branch=master [buildkite-link]: https://buildkite.com/oasisprotocol/oasis-core-ci [github-ci-lint-badge]: https://github.com/oasisprotocol/oasis-core/actions/workflows/ci-lint.yml/badge.svg?branch=master [github-ci-lint-link]: https://github.com/oasisprotocol/oasis-core/actions?query=workflow:ci-lint+branch:master [github-ci-repr-badge]: https://github.com/oasisprotocol/oasis-core/actions/workflows/ci-reproducibility.yml/badge.svg?branch=master [github-ci-repr-link]: https://github.com/oasisprotocol/oasis-core/actions?query=workflow:ci-reproducibility [github-docker-badge]: https://github.com/oasisprotocol/oasis-core/actions/workflows/docker.yml/badge.svg?branch=master [github-docker-link]: https://github.com/oasisprotocol/oasis-core/actions?query=workflow:docker [github-release-badge]: https://github.com/oasisprotocol/oasis-core/workflows/release/badge.svg [github-release-link]: https://github.com/oasisprotocol/oasis-core/actions?query=workflow:release [codecov-badge]: https://codecov.io/gh/oasisprotocol/oasis-core/branch/master/graph/badge.svg [codecov-link]: https://codecov.io/gh/oasisprotocol/oasis-core [coveralls-badge]: https://coveralls.io/repos/github/oasisprotocol/oasis-core/badge.svg [coveralls-link]: https://coveralls.io/github/oasisprotocol/oasis-core [godev-badge]: https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white [godev-link]: https://pkg.go.dev/github.com/oasisprotocol/oasis-core/go?tab=subdirectories [docusaurus-badge]: https://img.shields.io/badge/docusaurus-docs-007d9c?logo=read-the-docs&logoColor=white [docs-link]: https://docs.oasis.io/core
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].
[developer documentation index]: docs/README.md
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].
[a list of prerequisites]: docs/development-setup/prerequisites.md [build instructions]: docs/development-setup/building.md [setting up a local test network with a simple runtime]: docs/development-setup/oasis-net-runner.md
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
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.