All Projects → crypto-com → Thaler

crypto-com / Thaler

Licence: other
Thaler Experimental Network; For Crypto.org Chain: github.com/crypto-org-chain/chain-main

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Thaler

Chain Main
Crypto.org Chain⛓: Croeseid Testnet and beyond development
Stars: ✭ 109 (-23.24%)
Mutual labels:  tendermint, chain, crypto
Chainmint
Chainmint = Chain.com + Tendermint
Stars: ✭ 30 (-78.87%)
Mutual labels:  tendermint, chain
Certstrap
Tools to bootstrap CAs, certificate requests, and signed certificates.
Stars: ✭ 1,689 (+1089.44%)
Mutual labels:  crypto
Tradingview Webhook Bot
⚙️ Send TradingView alerts to Telegram, Discord, Slack, Twitter and/or Email.
Stars: ✭ 135 (-4.93%)
Mutual labels:  crypto
Botan
Cryptography Toolkit
Stars: ✭ 1,798 (+1166.2%)
Mutual labels:  crypto
Noise
.NET Standard 1.3 implementation of the Noise Protocol Framework (revision 33 of the spec)
Stars: ✭ 124 (-12.68%)
Mutual labels:  crypto
Tendermint code analysis
通用区块链平台tendermint源码分析
Stars: ✭ 134 (-5.63%)
Mutual labels:  tendermint
React Native Aes
Native module for AES encryption
Stars: ✭ 120 (-15.49%)
Mutual labels:  crypto
Peatiocryptoexchange
An open-source Crypto-Currency exchange. Peatio v3.0 Coming Soon !
Stars: ✭ 141 (-0.7%)
Mutual labels:  crypto
Libchaos
Advanced library for randomization, hashing and statistical analysis (devoted to chaos machines). 🔬
Stars: ✭ 1,619 (+1040.14%)
Mutual labels:  crypto
Padding Oracle Attacker
🔓 CLI tool and library to execute padding oracle attacks easily, with support for concurrent network requests and an elegant UI.
Stars: ✭ 136 (-4.23%)
Mutual labels:  crypto
Demo Twilio Backend Nodejs
A sample backend that demonstrates how to generate a Virgil JWT and Twilio token used for authentication with the Virgil and Twilio services
Stars: ✭ 128 (-9.86%)
Mutual labels:  crypto
Lsanimator
⛓ Easy to Read and Write Multi-chain Animations Lib in Objective-C and Swift.
Stars: ✭ 1,576 (+1009.86%)
Mutual labels:  chain
Cryptocurrency Portfolio
Google Sheets automatic creation with Google Apps Script (GAS) for managing a cryptocurrency tracking spreadsheet with multi exchanges
Stars: ✭ 134 (-5.63%)
Mutual labels:  crypto
Merkle
Node.js module implementing Merkle tree algorithm
Stars: ✭ 123 (-13.38%)
Mutual labels:  crypto
Multicurrencywallet
Bitcoin, Ethereum, ERC20 crypto wallets with Atomic Swap exchange. Release announce: https://twitter.com/SwapOnlineTeam/status/1321844352369500160
Stars: ✭ 136 (-4.23%)
Mutual labels:  crypto
Gnome Feeder
Profit Trailer Feeder Full Build with Settings
Stars: ✭ 122 (-14.08%)
Mutual labels:  crypto
Torchbear
🔥🐻 The Speakeasy Scripting Engine Which Combines Speed, Safety, and Simplicity
Stars: ✭ 128 (-9.86%)
Mutual labels:  crypto
Octavo
Highly modular & configurable hash & crypto library
Stars: ✭ 131 (-7.75%)
Mutual labels:  crypto
Go Jose
An implementation of JOSE standards (JWE, JWS, JWT) in Go
Stars: ✭ 1,849 (+1202.11%)
Mutual labels:  crypto

DEVELOPMENT MOVED TO: https://github.com/crypto-org-chain/chain-main

Table of Contents

  1. Description
  2. Contributing
  3. License
  4. Documentation
  5. Build
    1. Docker image
    2. Makefile
    3. Linux native (Ubuntu 18.04)
    4. Build mock mode on non-sgx platform (e.g. mac)
  6. Start a Local Full Node
  7. Send your First Transaction
  8. Testing
  9. Useful Links

1. Description

This repository contains the Thaler Experimental Network code (pre-pivoted Crypto.com Chain). The current repository consists of the following Rust sub-crates:

  • chain-abci: the Tendermint ABCI application that currently does the transaction validation etc.
  • chain-core: the library that contains the main type definitions and any utility code (such as serialization), so that it can be used in chain-abci and other applications.
  • chain-storage: storage related logic used by chain-abci.
  • chain-tx-filtering: Library that captures the fuctionality related to block-level public view key-based transaction filtering.
  • chain-tx-validation: Library with functions that verify, given current chain state's data, if a transaction is valid.
  • test-common: Common code shared by unit tests.
  • dev-utils: currently a minimal development tool for generating genesis.json
  • client-[common|network|core|cli|rpc]: Client backend implementation for transaction creation and wallet management. Follow these links for more details:
  • chain-tx-enclave/: enclaves and enclave wrapper apps.
  • enclave-protocol: Requests and responses exchanges over ZMQ between chain-abci app.
  • cro-clib: c API library.

2. Contributing

Please abide by the Code of Conduct in all interactions, and the contributing guidelines when submitting code.

3. License

Apache 2.0

4. Documentation

Technical documentation can be found in this Github repository (you can read it in this hosted version.

5. Build full node

1. Docker image

$ docker build -t crypto-chain:latest .

Docker build arguments:

  • SGX_MODE:
    • HW: SGX hardware mode, default.
    • SW: SGX software simulation mode.
  • NETWORK_ID: Network HEX Id of Tendermint, default: AB.
  • BUILD_PROFILE:
    • debug: debug mode.
    • release: release mode, default.
  • BUILD_MODE:
    • sgx: default.
    • mock: A simulation mode only for development on non-sgx platform, don't use in production.

2. Makefile

$ make build

It builds in docker container, the result binaries reside in local directory, it runs something like:

$ docker run --rm -v `pwd`:/chain cryptocom/chain:latest run_build_scripts

The result binary is built for the docker container environment, may not runnable locally.

The makefile supports other commands too:

$ make help
...
SUBCOMMAND:
	prepare                prepare the environment
	image                  build the docker image
	build                  just build the chain and enclave binaery in docker
	run-sgx                docker run sgx-validation and a sgx-query container
	run-chain              docker run chain-abci, tendermint and client-rpc container
	stop-all               docker stop all the container
	start-all              docker start all the container
	restart-all            docker restart all the container
	rm-all                 remove all the docker container
	clean                  clean all the temporary files while compiling
	clean-data             remove all the data in data_path

3. Linux native (Ubuntu 18.04)

Prerequisite:

  • intel sgx sdk (Set environment variable SGX_SDK to the sdk directory)
  • rust toolchain nightly-2019-11-25 (you can install with rustup)
$ apt-get install -y \
    cmake \
    libgflags-dev \
    libzmq3-dev \
    pkg-config \
    clang
$ ./docker/build.sh

All the executables and signed enclave libraries will reside in ./target/debug.

Environment variables mentioned in the docker image building section also apply here.

4. Develop with mock mode on non-sgx platform (e.g. mac)

TODO

6. Start a Local Full Node

Please follow the instruction to deploy a local full node.

7. Send Your First Transaction

Kindly refer to this instruction to perform transactions between addresses.

8. Testing

You can run the unit tests and integration tests with drone-cli on sgx platform:

$ cat > .drone.secret << EOF
SPID=<SPID>
IAS_API_KEY=<IAS_API_KEY>
EOF
$ drone exec --trusted \
    --include build \
    --include unit-tests \
    --include integration-tests \
    --include multinode-tests

Kindly refer to Prepare SPID & KEY to obtain the values of SPID and IAS_API_KEY.


9. Useful links

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