All Projects → bandprotocol → Contracts

bandprotocol / Contracts

Licence: apache-2.0
Band Protocol's Solidity smart contracts

Programming Languages

javascript
184084 projects - #8 most used programming language
solidity
1140 projects

Projects that are alternatives of or similar to Contracts

Chainlink Ruby
Easily connect your applications to blockchains
Stars: ✭ 152 (+78.82%)
Mutual labels:  ethereum, oracle
Chainlink
node of the decentralized oracle network, bridging on and off-chain computation
Stars: ✭ 2,680 (+3052.94%)
Mutual labels:  ethereum, oracle
Epirus Free
Ethereum, Hyperledger Besu and Quorum private blockchain explorer
Stars: ✭ 79 (-7.06%)
Mutual labels:  ethereum
Abdk Libraries Solidity
Open-Source Libraries for Solidity by ABDK Consulting
Stars: ✭ 84 (-1.18%)
Mutual labels:  ethereum
Whale
🐋 Show Ethereum and Bitcoin price in command line interface (CLI).
Stars: ✭ 81 (-4.71%)
Mutual labels:  ethereum
Solidity Antlr4
Solidity grammar for ANTLR4
Stars: ✭ 79 (-7.06%)
Mutual labels:  ethereum
Protocol
Hydro Protocol decentralized exchange smart contracts
Stars: ✭ 83 (-2.35%)
Mutual labels:  ethereum
Portis Sdk
Portis Web SDK [DEPRECATED, PLEASE USE OUR NEW SDK: https://github.com/portis-project/web-sdk]
Stars: ✭ 78 (-8.24%)
Mutual labels:  ethereum
Kuberneteth
[ Ethereum + Kubernetes ] deploy a private ethereum blockchain network with kubernetes
Stars: ✭ 84 (-1.18%)
Mutual labels:  ethereum
Hdwallet
Simple Swift library for creating HD cryptocurrencies wallets and working with crypto Coins/ERC20 tokens.
Stars: ✭ 80 (-5.88%)
Mutual labels:  ethereum
Chaingear
The consensus computer driven database framework
Stars: ✭ 83 (-2.35%)
Mutual labels:  ethereum
Element
DID Method implementation using the Sidetree protocol on top of Ethereum and IPFS
Stars: ✭ 80 (-5.88%)
Mutual labels:  ethereum
Istanbul Tools
Istanbul BFT tools
Stars: ✭ 80 (-5.88%)
Mutual labels:  ethereum
Chloe
A lightweight and high-performance Object/Relational Mapping(ORM) library for .NET --C#
Stars: ✭ 1,248 (+1368.24%)
Mutual labels:  oracle
Eth Random
commit-reveal RNG method in Ethereum
Stars: ✭ 79 (-7.06%)
Mutual labels:  ethereum
Cated
CATEd - Cryptocurrency Analytics and Trading Engine for Django
Stars: ✭ 84 (-1.18%)
Mutual labels:  ethereum
Marketprotocol
Ethereum based derivatives trading protocol creating digital tokens for any asset
Stars: ✭ 78 (-8.24%)
Mutual labels:  ethereum
Connect
(Aragon 1) Seamlessly integrate DAO functionality into web and node.js apps.
Stars: ✭ 81 (-4.71%)
Mutual labels:  ethereum
Js Ethereum Cryptography
Every cryptographic primitive needed to work on Ethereum, for the browser and Node.js
Stars: ✭ 83 (-2.35%)
Mutual labels:  ethereum
Cljs Web3
Clojurescript API for Ethereum Web3 API
Stars: ✭ 84 (-1.18%)
Mutual labels:  ethereum

Band Smart Contracts

Decentralized Data Governance Protocol

Solidity Ethereum Apache-2.0

Band Protocol is a protocol for decentralized data governance. This repository contains the implementation of Band Protocol with Solidity. We use Truffle as the development environment for compiling and testing the smart contracts. See whitepaper for more information regarding the high-level ideas of Band Protocol.

Overview

Band Protocol consists of multiple smart contracts and libraries working together. The figure below summarizes interaction between different smart contracts. Note that clear arrows represent inheritance relationship, while filled arrows represent association (has-a) relationship. See comments at the top of the smart contracts' source codes for more details.

band-overview

Line Count

To facilitate those who wonder, we have written a simple line-counting script, which can be executed from the root folder.

$ ./scripts/linecount.sh  # as of commit 43a9167b
Band's smart contract LOC (excluding /mock folder) ...
Blanks (^\s*$): 246
Pragmas (^pragma.*$): 32
Imports (^import.*$): 75
Comments (^\s*///.*$): 130
Code: 1525

Contributing

We highly encourage participation from the community to help with Band Protocol development. If you are interested in developing with Band Protocol or have suggestion for protocol improvement, please drop as a line or send as a pull request.

Installation

Make sure you have Node.js and Yarn installed, then:

$ yarn install

To run unit tests, simply run the truffle test command:

$ yarn run truffle test --network test

The smart contracts can be deployed using truffle command:

$ yarn truffle deploy
$ yarn truffle exec scripts/exec/challenge.js --network development
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].