Giter Site home page Giter Site logo

crackmac / dragonchain Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dragonchain/dragonchain

0.0 1.0 0.0 474 KB

Dragonchain blockchain platform - simplified integration of advanced blockchain features

Home Page: https://dragonchain.github.io/

License: Other

Python 91.01% Shell 0.08% PLpgSQL 5.43% Thrift 3.48%

dragonchain's Introduction

Dragonchain

The Dragonchain platform attempts to simplify integration of real business applications onto a blockchain. Providing features such as easy integration, protection of business data, fixed 5 second blocks, currency agnosticism, and interop features, Dragonchain shines a new and interesting light on blockchain technology.

No blockchain expertise required!

Project Goals

  1. Ease of integration of existing systems
  2. Ease of development for traditional engineers and coders unfamiliar with blockchain, distributed systems, and cryptography
  3. Client server style and simple RESTful integration points for business integration
  4. Simple architecture (flexible and usable for unforeseen applications)
  5. Provide protection of business data by default
  6. Allow business focused control of processes
  7. Fixed length period blocks
  8. Short/fast blocks
  9. Currency agnostic blockchain (multi­currency support)
  10. No base currency
  11. Interoperability with other blockchains public and private
  12. Adoption of standards as they become available (see ​W3C Blockchain Community Group blockchain standardization​)

Quick Links

Support

Slack Team: Dragonchain Slack Team Slack Support Channel: #support Email: [email protected]

Maintainer

Joe Roets (j03) [email protected]

Setup and Installation

Python Dependencies

Dragonchain utilized Python 2.7

To install Python library dependencies, run the following:

pip install -r requirements.txt

Code Generation

Message classes and RMI services are generated by thrift templates. If you have Apache Thrift installed you can regenerate these classes by using the gen_thrift setup command:

python setup.py gen_thrift

Keys

  • Signing Key Generation openssl ecparam -name secp224r1 -genkey -out <Dragonchain Home>/pki/sk.pem
  • Verifying Key Generation openssl ec -in sk.pem -pubout -out <Dragonchain Home>/pki/pk.pem

Execution

Transaction Service

python <Dragonchain Home>/blockchain/transaction_svc.py --private-key <Dragonchain Home>/pki/sk.pem --public-key <Dragonchain Home>/pki/pk.pem

Query Service

python <Dragonchain Home>/blockchain/query_svc.py --private-key <Dragonchain Home>/pki/sk.pem --public-key <Dragonchain Home>/pki/pk.pem

Blockchain Processor

python <Dragonchain Home>/blockchain/processing.py --private-key <Dragonchain Home>/pki/sk.pem --public-key <Dragonchain Home>/pki/pk.pem

--private-key (required - signing key for transaction service and processing module)
--public-key  (required)
--host        (defaults to localhost)
--port, -p    (defaults to 8080)
--phase       (required)

Configuration

Configuration within yaml files within configs directory.

Environment Variables

BLOCKCHAIN_DB_HOSTNAME = Hostname of the database instance (default localhost)

BLOCKCHAIN_DB_PORT = Port of the database server (default 5432)

BLOCKCHAIN_DB_USERNAME = Database username (default blocky)

BLOCKCHAIN_DB_PASSWORD = Database password (default None)

BLOCKCHAIN_DB_NAME = Blockchain database (default blockchain, also selects .yaml config and log file with same name)

Contribution

Dragonchain uses a standard Feature Branch Workflow.

All feature development should take place in Git branch dedicated to that feature. A feature branch should be named starting with the ticket ID followed by a dash and a short description.

Issues are tracked within Github: Dragonchain Issues

Formatting

Code should follow the PEP 8 Style Guide for Python code where possible.

Contributors

  • Joe Roets - Principal Architect / Vision
  • Eileen Quenin - Product Manager / Evangelist
  • Brandon Kite - Lead Developer
  • Dylan Yelton - Developer
  • Michael Bachtel - DevOps / Developer
  • Lucas Ontivero - Developer
  • Adam Bronfin - Developer / Reviewer
  • Benjamin Israelson - Developer / Reviewer
  • Forrest Fisher - Program Manager
  • Robbin Schill - Program Manager
  • Krassi Krustev - Developer
  • Rob Eickmann - iOS Developer
  • Sean Ochoa - DevOps / Sysadmin
  • Paul Sonier - Developer / Reviewer
  • Steve Owens - Reviewer
  • Mark LaPerriere - Reviewer
  • Kevin Duane - Reviewer
  • Chris Moore - Reviewer
  • Brian J Wilson - Architect

License

Copyright 2016 Disney Connected and Advanced Technologies

Licensed under the Apache License, Version 2.0 (the "Apache License")
with the following modification; you may not use this file except in
compliance with the Apache License and the following modification to it:
Section 6. Trademarks. is deleted and replaced with:

     6. Trademarks. This License does not grant permission to use the trade
        names, trademarks, service marks, or product names of the Licensor
        and its affiliates, except as required to comply with Section 4(c) of
        the License and to reproduce the content of the NOTICE file.

You may obtain a copy of the Apache License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the Apache License with the above modification is
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the Apache License for the specific
language governing permissions and limitations under the Apache License.

dragonchain's People

Contributors

j0j0r0 avatar voxelot avatar cr3473 avatar

Watchers

James Cloos avatar

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.