Giter Site home page Giter Site logo

alexandratran / orchestrate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rolandtyler/orchestrate

0.0 1.0 0.0 67.21 MB

Orchestrate is a blockchain Transaction Orchestration system. It provides production-grade and agnostic mechanisms for transaction crafting, nonce management, transaction signing, transaction receipt listening, transaction receipt decoding, faucet, and more.

Home Page: https://docs.orchestrate.consensys.net/

License: Other

JavaScript 0.05% Dockerfile 0.02% Makefile 0.14% Go 96.42% HTML 0.05% Shell 0.14% HCL 0.01% Gherkin 3.17%

orchestrate's Introduction

Website Website

CircleCI Go Report Card Quality Gate Status Coverage

Orchestrate

Orchestrate is a blockchain Transaction Orchestration system that can operate multiple chains simultaneously. It provides production grade and agnostic mechanisms for transaction crafting, nonce management, transaction signing, transaction receipt listening, transaction receipt decoding, faucet and more.

Orchestrate is a microservices architecture composed of APIs & Workers. Workers communicate following publish-subscribe pattern using Apache Kafka as message broker.

Orchestrate is Plug & Play, a user only needs to send a business protobuf message to Orchestrate input topic, Orchestrate then manages the full lifecycle of the transaction from crafting the transaction to decoding event logs data.

Useful links

Run Orchestrate

Now launch Orchestrate service using docker-compose with the following command:

docker-compose up -d api tx-sender tx-listener

Orchestrate is connected to Quorum Key Manager(QKM) to perform every wallet actions (creation, importing, signing, etc...). In this case for QKM setup we are connecting to a local Hashicorp Vault Server which is enhanced with Quorum Hashicorp Vault Pluging to support private keys under hashicorp storage.

Build from source

Prerequisites

To build binary locally requires Go (version 1.16 or later) and C compiler.

Build

After downloading dependencies (ie go mod download) you can run following command to compile the binary

go build -o ./build/bin/orchestrate

Binary will be located in `./build/bin/orchestrate

Errors

Error codes are uint64 that maps to five hex character code

Class Subclass Hex Code Code Description
01XXX 01000 4096 Indicate a warning operation
012XX 01200 4608 Faucet credit has been denied
013XX Sent tx with invalid nonce
01301 4865 Nonce too high
01302 4866 Nonce too low
08XXX 08000 32768 Failed connecting to an external service
081XX 08100 33024 Connecting to Kafka
082XX 08200 33280 Connecting to an HTTP service
083XX 08300 33536 Connecting to Ethereum Node
085XX 08500 34048 Connecting to Redis
086XX 08600 34304 Connecting to Postgres
087XX 08700 34560 Connecting to external services
09XXX 09000 36864 Unauthorized operation
09001 36865 Invalid credentials
09002 36866 Operation not permitted
0AXXX 0A000 40960 Feature is not supported
24XXX 24000 147456 Invalid data state
242XX 24200 147968 Conflicted with current data state
42XXX 42000 270336 Failed to process input data
421XX 42100 270592 Decoding a message
422XX 42200 270848 Processing Solidity related data
42201 270849 Invalid Solidity method signature
42202 270850 Invalid arguments count provided
42203 270851 Invalid provided arguments
42204 270852 Invalid topics count in ABI event log
42205 270853 Invalid data in ABI event log
42300 271104 Data does not match expected format
42400 271360 Invalid provided parameter
BEXXX BE000 778240 Failed a Ethereum operation
BE001 778241 Nonce too low
BE002 778242 Invalid Nonce
C0XXX C0000 786432 Failed a cryptographic operation
C0001 786433 Invalid cryptographic signature
DBXXX DB000 897024 Failed data operation
DB1XX DB100 897280 Data constraint violated
DB101 897281 Resource with same unique index already existed
DB2XX DB200 897536 No data found
F0XXX F0000 983040 Invalid configuration
FFXXX FF000 1044480 Internal error
FF1XX FF100 1044736 Data is corrupted
FF2XX FF200 1044992 Dependency failure

License

Orchestrate is licensed under the BSL 1.1.

Please refer to the LICENSE file for a detailed description of the license.

Please contact [email protected] if you need to purchase a license for a production use-case.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.