All Projects β†’ scrtlabs β†’ SecretNetwork

scrtlabs / SecretNetwork

Licence: other
π•Š The Secret Network

Programming Languages

rust
11053 projects
go
31211 projects - #10 most used programming language
shell
77523 projects
typescript
32286 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to SecretNetwork

kcoin
A stable cryptocurrency that algorithmically targets $1 USD using the Kowala Protocol
Stars: ✭ 17 (-96.35%)
Mutual labels:  proof-of-stake, tendermint
cosmonauts-world
Projects in the Cosmos and Tendermint ecosystem 🌌
Stars: ✭ 14 (-97%)
Mutual labels:  tendermint, cosmos-sdk
sommelier
Sommelier Chain
Stars: ✭ 64 (-86.27%)
Mutual labels:  tendermint, cosmos-sdk
distributed-compliance-ledger
DCL is a public permissioned ledger framework for Zigbee compliance certification of device models. The ledger is based on Cosmos SDK and Tendermint.
Stars: ✭ 41 (-91.2%)
Mutual labels:  tendermint, cosmos-sdk
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 (-89.27%)
Mutual labels:  sgx, proof-of-stake
cosmospy
Python tools for Cosmos wallet management and offline transaction signing
Stars: ✭ 57 (-87.77%)
Mutual labels:  tendermint, cosmos-sdk
regen-ledger
Blockchain for planetary regeneration
Stars: ✭ 154 (-66.95%)
Mutual labels:  tendermint, cosmos-sdk
interchain-security
interchain-security houses the code implementing interchain security (aka replicated security) for Cosmos based blockchains.
Stars: ✭ 96 (-79.4%)
Mutual labels:  cosmos-sdk, cosmos-hub
inclavare-containers
A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.
Stars: ✭ 510 (+9.44%)
Mutual labels:  sgx, sgx-enclave
Cosmos Sdk
⛓️ A Framework for Building High Value Public Blockchains ✨
Stars: ✭ 3,144 (+574.68%)
Mutual labels:  tendermint, cosmos-sdk
cosmostation-ios
πŸ‘½ Cosmostation iOS Wallet
Stars: ✭ 14 (-97%)
Mutual labels:  tendermint, cosmos-sdk
discovery-cli
Command Line Interface (CLI) for the Discovery Enigma Protocol developer testnet
Stars: ✭ 12 (-97.42%)
Mutual labels:  enigma, secret-contracts
enigma-docker-network-deprecated
A containarized Enigma Protocol environment to start writing secret contracts
Stars: ✭ 50 (-89.27%)
Mutual labels:  enigma, secret-contracts
ethereum-dex
Decentralized exchange implementation for the 0xcert protocol on the Ethereum blockchain.
Stars: ✭ 18 (-96.14%)
Mutual labels:  tokens, nft
Web3 By Example
Node.js with Web3 javascript examples for getting basic information (transactions, balances, network stats, and tokens) from the Ethereum blockchain.
Stars: ✭ 156 (-66.52%)
Mutual labels:  tokens
doge-nft
DOGE NFT
Stars: ✭ 30 (-93.56%)
Mutual labels:  nft
Tokens
Ethereum token definitions
Stars: ✭ 144 (-69.1%)
Mutual labels:  tokens
MultiFaucet
MultiFaucet drips ETH, tokens, and NFTs across many testnet networks, at once.
Stars: ✭ 151 (-67.6%)
Mutual labels:  tokens
Tokens
Java library for conveniently verifying and storing OAuth 2.0 service access tokens
Stars: ✭ 142 (-69.53%)
Mutual labels:  tokens
Ubtokenbar
Flexible and extensible UICollectionView based TokenBar written in Swift
Stars: ✭ 136 (-70.82%)
Mutual labels:  tokens

Secret Network

Secret Network offers scalable permissionless smart contracts with a private by default designβ€” bringing novel use cases to blockchain not feasible on public systems. Secret Network enables users to take back ownership over their private (financial) information and for them to share this information with whom they trust. Secret Network was the first protocol to provide private smart contracts on mainnet, live since September 2020. Secret Network is Built with the Cosmos Software Development Kit (SDK) bringing Interoperable privacy to the entire Cosmos ecosystem. Secret Network uses a combination of the Intel SGX (Software Guard Extension) Trusted Execution Environment technology, several encryption schemes and key management to bring privacy by default to blockchain users. Secret Contracts are an implementation of the Rust based smart contract compiling toolkit CosmWasm, adding private metadata possibilities. Secret Network is powered by the Native public coin SCRT which is used for fees, Proof Of Stake security and Governance. With more than 20+ Dapps, 100+ full time builders and a strong grassroots community Secret Network aims to bring privacy to the masses.

Setting up Environment

Prebuilt Environment

Gitpod

Click the button below to start a new development environment:

Open in Gitpod

VSCode Docker Environment

  1. Install extension

  2. Clone this repository into a new dev container

Docker Dev Environments

  1. From Docker Desktop, create a new Dev Environment from the prebuilt image - ghcr.io/scrtlabs/secretnetwork-dev:latest
  2. Connect with VSCode, or use the container directly
  3. Make sure the code is updated by using get fetch and git pull

Manual Set up

You can find everything below in a handy script that you can copy and run from here

Install prerequisite packages

apt-get install -y --no-install-recommends g++ libtool autoconf clang

Clone Repo

Clone this repo to your favorite working directory

Install Rust

Install rust from https://rustup.rs/.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Then, add the rust-src component. This will also install the version of rust that is defined by the workspace (in rust-toolchain) -

rustup component add rust-src

To run tests you'll need to add the wasm32 target -

rustup target add wasm32-unknown-unknown

Install Go (v1.18+)

Install go from https://go.dev/doc/install

Install gobindata

sudo apt install go-bindata

Install SGX

To compile the code and run tests, you'll need to install the SGX SDK and PSW. To run in simulation (or software) modes of SGX you do not need to install the SGX driver. For a simple install, run the install-sgx.sh script in the following way:

chmod +x ./scripts/install-sgx.sh
sudo ./scripts/install-sgx.sh true true true false

Note: If you are using WSL you'll need to use the 5.15 kernel which you can find how to do here, otherwise you'll have to run anything SGX related only in docker

Install Xargo

We need a very specific version of xargo for everything to compile happily together

cargo install xargo --version 0.3.25

Install submodules

We use incubator-teaclave-sgx-sdk as a submodule. To compile the code, you must first sync this submodule

git submodule init
git submodule update --remote

Build from Source

Use make build-linux to build the entire codebase. This will build both the Rust (enclave & contract engine) and the Go (blockchain) code.

To build just the rust code, you can use make build-linux, while to build just the Go code, there is the aptly named make build_local_no_rust.

Tip:

For a production build the enclave must be copied from the most recent release. 

This is due to non-reproducible builds, and the fact that enclaves must be signed with a specific key to be accepted on mainnet. 

Still, the non-enclave code can be modified and ran on mainnet as long as there are no consensus-breaking changes

Running Something

Run tests

To build run all tests, use make go-tests

Start local network

Run ./scripts/start-node.sh

Documentation

For the latest documentation, check out https://docs.scrt.network

Community

License

SecretNetwork is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The GNU Affero General Public License is based on the GNU GPL, but has an additional term to allow users who interact with the licensed software over a network to receive the source for that program.

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].