Giter VIP home page Giter VIP logo

justitia's Introduction

Justitia

Build Status codecov

Project Justitia builds a global community and a code library of the smart contract, relies on crowdfunding and crowd-developing on Justitia Chain to reach a broad consensus, and is committed to making code gradually become an "invisible law" in the virtual world, forming a trustworthy contract production mechanism. This project uses innovative Law Code technology and smart contract engineering theory to create a crowd-developed contract production DAC community DSiSc(DAC Swarm intelligence community of Smart contract), designing and implementing a new Justitia public blockchain to achieve community governance, and inspiring and bringing together global intelligence consensus to build a smart contract production factory.

Smart contracts will be important basic protocols with legal attributes in the digital society in the future and will become important foundations for the digital society in the future. We believe that smart contracts will be an important technological factor in the process of the blockchain revolution. However, smart contracts that are executed automatically as treaties and rules face many unprecedented challenges. Issues of letting smart contracts carry legal rules, store certificates, and automatically judge program execution will become a great challenge in the process of universal application of smart contracts.

Getting started

Here's how to set up justitia for local development.

  1. Fork the justitia repo on GitHub.

  2. Clone your fork locally, and fetch all dependencies:

     $ git clone [email protected]:your_name_here/justitia.git
     $ cd justitia
     $ make devenv
    
    • make devenv will get go-tools and dependencies, usually for the first time. most of the time, we use:

      $ make fetch-deps
      

      which only update dependencies, faster.

    • If you want to switch to a certain release tag, use env RELEASE:

      $ RELEASE=v0.6.0 make fetch-deps
      
  3. Create a branch for local development:

     $ git checkout -b name-of-your-bugfix-or-feature
    

    Now you can make your changes locally.

  4. When you're done making changes, check that your changes pass the tests:

     $ make test
    
  5. Copy config file to $HOME/.justitia, and make adjustments as you need:

     $ make -p $HOME/.justitia
     $ cp config/justitia.yaml $HOME/.justitia/
    
  6. Run justitia with the following command:

     $ go run main.go
    
  7. Commit your changes and push your branch to GitHub, We use Angular Commit Guidelines, Thanks for Angular good job.

     $ git add .
     $ git commit -m "Your detailed description of your changes."
     $ git push origin name-of-your-bugfix-or-feature
    
  8. Submit a pull request through the GitHub website.

Sub-projects

  • apigateway: A light-weight golang API Gateway implement.
  • blockchain: Middleware of blockchain storage layer accessing.
  • blockstore: An implemention of ledger which support customization by config file.
  • craft: Define common types and structures which used frequently.
  • crypto-suite: Crypto Suite.
  • evm-NG: Next Generation Contract VM from EVM.
  • galaxy: Advanced distributed consensus framework support pluggable algorithms.
  • gossipswitch: A Gossip switch implementation.
  • producer: Implement of producer which is responsible for producing block.
  • statedb-NG: A Next Generation StateDB Implementation.
  • txpool: A high-performance blockchain transaction pool.
  • validator: A high-speed validator verify transaction and block.
  • wallet: A high-security wallet implemention.
  • [p2p]

Releases

Licensing

Justitia is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

justitia's People

Contributors

walterkangluo avatar bchain618 avatar hoticode avatar stupidtao avatar peerlink 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.