capsule-corp-ternoa / chain

Licence: other
Ternoa's Blockchain to support the secure creation and transfer of Capsules

Programming Languages

rust
11053 projects
HTML
75241 projects

Projects that are alternatives of or similar to chain

cosmix
A Compiler-based System for Secure Memory Instrumentation and Execution in Enclaves
Stars: ✭ 22 (-43.59%)
Mutual labels:  sgx
hardware-attacks-state-of-the-art
Microarchitectural exploitation and other hardware attacks.
Stars: ✭ 29 (-25.64%)
Mutual labels:  sgx
graphene
Graphene / Graphene-SGX - a library OS for Linux multi-process applications, with Intel SGX support
Stars: ✭ 741 (+1800%)
Mutual labels:  sgx
docker-sgx
A Docker image with Intel SGX support.
Stars: ✭ 66 (+69.23%)
Mutual labels:  sgx
lucky
Proof of luck Intel SGX and IPFS based blockchain.
Stars: ✭ 70 (+79.49%)
Mutual labels:  sgx
docker-sgx
Base container for applications using the official Intel SGX SDK
Stars: ✭ 34 (-12.82%)
Mutual labels:  sgx
sgx-tutorial-space18
Tutorial: Uncovering and mitigating side-channel leakage in Intel SGX enclaves
Stars: ✭ 44 (+12.82%)
Mutual labels:  sgx
sgxwallet
sgxwallet is the first-ever opensource high-performance hardware secure crypto wallet that is based on Intel SGX technology. First opensource product on Intel SGX whitelist. Scales to 100,000+ transactions per second. Currently supports ETH and SKALE, and will support BTC in the future. Sgxwallet is under heavy development and use by SKALE network.
Stars: ✭ 50 (+28.21%)
Mutual labels:  sgx
inclavare-containers
A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.
Stars: ✭ 510 (+1207.69%)
Mutual labels:  sgx
confidential-computing-zoo
Confidential Computing Zoo provides confidential computing solutions based on Intel SGX, TDX, HEXL, etc. technologies.
Stars: ✭ 177 (+353.85%)
Mutual labels:  sgx
crust-sworker
sWorker(storage worker) is an offchain storage work inspector of Crust MPoW protocol running inside TEE enclave
Stars: ✭ 30 (-23.08%)
Mutual labels:  sgx
python-sgx
Python interface to the SGX SDK
Stars: ✭ 29 (-25.64%)
Mutual labels:  sgx
SecretNetwork
𝕊 The Secret Network
Stars: ✭ 466 (+1094.87%)
Mutual labels:  sgx
meta-secure-core
OpenEmbedded layer for the use cases on secure boot, integrity and encryption
Stars: ✭ 80 (+105.13%)
Mutual labels:  sgx
Wasm Micro Runtime
WebAssembly Micro Runtime (WAMR)
Stars: ✭ 2,440 (+6156.41%)
Mutual labels:  sgx
sgx-orchestrator
SGX-aware container orchestrator
Stars: ✭ 35 (-10.26%)
Mutual labels:  sgx

Ternoa Blockchain 🚀

Website · White paper · Blog · Twitter · Discord

Welcome to the Ternoa Blockchain repo which hosts the code used to build and run a Ternoa node. Ternoa supports the transfer of arbitrary data to your descendants, friends and loved ones even after your death or disappearence or a given timed period in a non custodial, cryptographically enforced manner.


Table of Contents:

Development

Environment Setup

✔️ For Ubuntu

From a terminal run the following command

sudo apt update && sudo apt install -y git clang curl libssl-dev llvm libudev-dev

✔️ For MacOS if Homebrew is installed run :

brew update && brew install openssl

If there is not homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

and after

brew install openssl

✔️ Install Rust and the Rust toolchain

To install and configure Rust manually:

  1. Install rustup by running the following command:
curl https://sh.rustup.rs -sSf | sh
  1. Configure your current shell to reload your PATH environment variable so that it includes the Cargo bin directory by running the following command:
source ~/.cargo/env
  1. Configure the Rust toolchain to default to the latest stable version by running the following commands:
rustup default stable
rustup update
  1. Add the nightly release and the nightly WebAssembly (wasm) targets by running the following commands:
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
  1. Verify your installation by running the following commands:
rustc --version
rustup show
The previous steps walked you through the installation and configuration of Rust and the Rust toolchain so that you could see the full process for yourself.

It is also possible to automate the steps using a script.
If you want to try installing and configuring Rust using a script, see the [`getsubstrate`](https://getsubstrate.io) automation script.

Dependencies & Building & Running

Check out the official Ternoa blockchain Client docs :)

Unit tests

We provide a battery of unit tests which you can run via cargo test --all --all-features (omitting --all-features would not run a few tests related to benchmarking).

Benchmarks

In the scripts folder we can find benchmark files for each pallet. Benchmark files are named with the following pattern run_xxx_benchmark.sh where xxx is a tha nameof the pallet. To run one benchmark file for example run_associated_accounts_benchmark.sh, just type in the terminal

./scripts/run_associated_accounts_benchmark.sh

An the end of the benchmarks execution we can see a rust file generated at the root of the project with the pallet name for example ternoa_associated_accounts.rs wich will the results of the benchmarks.

Documentation

You can generate the rust developer documentation via cargo doc --open.

With docker 🐳

This might be outdated

Just run docker build -t netickfr/ternoa-chain . and then use docker run --rm -p 9944:9944 -it ternoa/chain to build and use a containerized node (built with all the optimizations).

Alternatively, you can fetch a prebuilt, bleeding edge container on the Docker Hub.

This is how you'd start a local node with docker: docker run --rm -p 9944:9944 -p 9933:9933 -it netickfr/ternoa-chain --tmp --dev --ws-external --rpc-cors all.

Usage and testing

Check out the official Ternoa blockchain Client docs :)

Contributing

A guideline about contributing to Ternoa chain can be found in the CONTRIBUTING.md file.

Notes

  • Staking slashes and remainders are burned, you may want to send them to a treasury later.
  • We kept the runtime slim and did not include less core pallets such as recovery, utility or vesting.
  • weights were computed on an Apple M1 macbook, once validators starts coming in and that we have some reference hardware we will want to recompute those.

Useful external tools

Substrate JS utilities

Subwasm

Useful external documentation

Querying Substrate Storage via RPC

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].