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.
Here's how to set up
justitia for local development.
justitiarepo on GitHub.
Clone your fork locally, and fetch all dependencies:
$ git clone firstname.lastname@example.org:your_name_here/justitia.git $ cd justitia $ make devenv
make devenvwill 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=v0.6.0 make fetch-deps
Create a branch for local development:
$ git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
When you're done making changes, check that your changes pass the tests:
$ make test
Copy config file to
$HOME/.justitia, and make adjustments as you need:
$ make -p $HOME/.justitia $ cp config/justitia.yaml $HOME/.justitia/
Run justitia with the following command:
$ go run main.go
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
Submit a pull request through the GitHub website.
- 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.
Justitia is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
There is no documentation for this package.