a SQL Database on Blockchain
Clone or download
Latest commit 20c5551 Sep 13, 2018
Permalink
Failed to load latest commit information.
bin Add observer to docker entry file Aug 30, 2018
blockproducer add unittest for types Aug 28, 2018
client Fix random connection id bug Sep 13, 2018
cmd Merge pull request #60 from CovenantSQL/bugfix/storage Sep 13, 2018
common rename all thunderdb words Aug 27, 2018
conf rename all thunderdb words Aug 27, 2018
consistent rename all thunderdb words Aug 27, 2018
crypto add rpc example Sep 1, 2018
kayak rename all thunderdb words Aug 27, 2018
keys add cpu_count, loadavg metric. normarlize crucial metrics to "mem_ava… Aug 1, 2018
logo fix logo/DH-RPC-Layer.png Sep 13, 2018
merkle rename all thunderdb words Aug 27, 2018
metric use github.com/CovenantSQL/go-sqlite3-encrypt develop branch Aug 30, 2018
pow/cpuminer add rpc example Sep 1, 2018
proto rename all thunderdb words Aug 27, 2018
route add unit tests for route package Aug 28, 2018
rpc fix logo/DH-RPC-Layer.png Sep 13, 2018
sqlchain Add height growth channel to schedule stash returning Sep 13, 2018
storage rename all thunderdb words Aug 27, 2018
test Update observer port config to 4661 Aug 30, 2018
twopc Fix formatting bug Sep 13, 2018
types delete useless pb generated code Aug 20, 2018
utils add address testcases Sep 4, 2018
vendor Update deps Aug 31, 2018
worker Add space limit check Sep 13, 2018
.dockerignore Add dockerignore file Aug 2, 2018
.gitignore Add compiled output to gitignore list Aug 30, 2018
.gitlab-ci.yml rename all thunderdb words Aug 27, 2018
.gitmodules use readonly GNTE submodule Aug 2, 2018
.travis.yml fix reviewdog Aug 27, 2018
Dockerfile Use major version tag in docker file Sep 3, 2018
Gopkg.lock Update deps Aug 31, 2018
Gopkg.toml Update deps Aug 31, 2018
LICENSE update license to Apache2.0 May 5, 2018
Makefile Add Makefile Aug 1, 2018
README.md add https://github.com/anishathalye/porcupine link Sep 13, 2018
analysisVendor.sh add analysisVendor.sh to generate dep tree png May 2, 2018
build.sh Add build flags to cli build script Sep 13, 2018
cleanupDB.sh add rpc example Sep 1, 2018
codecov.yml add rpc example Sep 1, 2018
docker-compose.yml Update docker-compose file to listen any address for observer Aug 30, 2018
genMarshalHash.sh use new cmd hsp instead of HashStablePack Aug 20, 2018

README.md

Go Report Card Coverage Build Status License GoDoc follow on Twitter

CovenantSQL is a decentralized, crowdsourcing SQL database on blockchain. with Features:

  • SQL: most SQL-92 support.
  • Decentralize: decentralize with our consensus algorithm DH-RPC & Kayak.
  • Privacy: access with granted permission and Encryption Pass.
  • Immutable: query history in CovenantSQL is immutable and trackable.

We believe On the next Internet, everyone should have a complete Data Rights

One Line Makes Data on Blockchain

sql.Open("CovenantSQL", dbURI)

CovenantSQL 3 Layer design

  • Layer 1: Global Consensus Layer (the main chain, the middle ring in the architecture diagram):
    • There will only be one main chain throughout the network.
    • Mainly responsible for database Miner and the user’s contract matching, transaction settlement, anti-cheating, shard chain lock hash and other global consensus matters.
  • Layer 2: SQL Consensus Layer (shard chain, rings on both sides):
    • Each database will have its own separate shard chain.
    • Mainly responsible for: the signature, delivery and consistency of the various Transactions of the database. The data history of the permanent traceability is mainly implemented here, and the hash lock is performed in the main chain.
  • Layer 3: Datastore Layer (database engine with SQL-92 support):
    • Each Database has its own independent distributed engine.
    • Mainly responsible for: database storage & encryption, query processing & signature, efficient indexing.

Papers

Our team members published:

that inspired us:

Libs

Network Stack

  • DH-RPC := TLS - Cert + DHT
    • RPC Layer: compatible with golang net/rpc
    • Naming Layer: Consistent Secure DHT
    • Pooling Layer: session pool built on Yamux
    • Multiplex Layer: Yamux by Hashicorp
    • Transport Security Layer: Enhanced TLS
    • Network Layer: TCP or KCP for optional later

Test Tools

Connector

CovenantSQL is Still Under Construction(U know..). Test net will be released till Oct.

Watch us or follow on Twitter we will Wake U Up When September Ends

Contact