Merge branch 'master' into feat/280/deploy_conf_file_for_aws_deployment_config

This commit is contained in:
troymc 2016-05-17 11:26:36 +02:00
commit 8b52b81e58
4 changed files with 18 additions and 94 deletions

View File

@ -1,8 +1,9 @@
[![Join the chat at https://gitter.im/bigchaindb/bigchaindb](https://badges.gitter.im/bigchaindb/bigchaindb.svg)](https://gitter.im/bigchaindb/bigchaindb?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![PyPI](https://img.shields.io/pypi/status/bigchaindb.svg?maxAge=2592000)](https://pypi.python.org/pypi/BigchainDB)
[![PyPI](https://img.shields.io/pypi/v/bigchaindb.svg)](https://pypi.python.org/pypi/BigchainDB) [![PyPI](https://img.shields.io/pypi/v/bigchaindb.svg)](https://pypi.python.org/pypi/BigchainDB)
[![Travis branch](https://img.shields.io/travis/bigchaindb/bigchaindb/master.svg)](https://travis-ci.org/bigchaindb/bigchaindb) [![Travis branch](https://img.shields.io/travis/bigchaindb/bigchaindb/master.svg)](https://travis-ci.org/bigchaindb/bigchaindb)
[![Codecov branch](https://img.shields.io/codecov/c/github/bigchaindb/bigchaindb/master.svg)](https://codecov.io/github/bigchaindb/bigchaindb?branch=master) [![Codecov branch](https://img.shields.io/codecov/c/github/bigchaindb/bigchaindb/master.svg)](https://codecov.io/github/bigchaindb/bigchaindb?branch=master)
[![Documentation Status](https://readthedocs.org/projects/bigchaindb/badge/?version=latest)](https://bigchaindb.readthedocs.org/en/latest/) [![Documentation Status](https://readthedocs.org/projects/bigchaindb/badge/?version=latest)](https://bigchaindb.readthedocs.org/en/latest/)
[![Join the chat at https://gitter.im/bigchaindb/bigchaindb](https://badges.gitter.im/bigchaindb/bigchaindb.svg)](https://gitter.im/bigchaindb/bigchaindb?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
# BigchainDB # BigchainDB

View File

@ -1,93 +1,16 @@
# BigchainDB Roadmap # BigchainDB Roadmap
See also: | **[Topics](https://github.com/bigchaindb/bigchaindb/labels)** | [Projects In Progress](https://github.com/bigchaindb/bigchaindb/labels/0%29%20Project%20in%20progress) | **[Start <1 Mo ](https://github.com/bigchaindb/bigchaindb/labels/1%29%20Project%20in%201%20mo)** | **[Later](https://github.com/bigchaindb/bigchaindb/labels/2%29%20Project%20in%20future)** |
| ------ | ------------ | ------------- | ----- |
| **[SEC](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%223\)+SEC+core+consensus%22)** (security, core)| [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%223\)+SEC+core+consensus%22+label%3A%220\)+Project+in+progress%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%223\)+SEC+core+consensus%22++label%3A%221\)+Project+in+1+mo%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%223\)+SEC+core+consensus%22+label%3A%222\)+Project+in+future%22) |
| **[D&P](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%224\)+D%26P+deplymt+perf%22)** (deployment, performance) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%224\)+D%26P+deplymt+perf%22+label%3A%220\)+Project+in+progress%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%224\)+D%26P+deplymt+perf%22++label%3A%221\)+Project+in+1+mo%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%224\)+D%26P+deplymt+perf%22+label%3A%222\)+Project+in+future%22) |
| **[TXS](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%225\)+TXS+assets+data%22)** (assets, data) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%225\)+TXS+assets+data%22+label%3A%220\)+Project+in+progress%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%225\)+TXS+assets+data%22++label%3A%221\)+Project+in+1+mo%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%225\)+TXS+assets+data%22+label%3A%222\)+Project+in+future%22) |
| **[UX](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%226\)+UX+docs+cmd+api+driver%22)** (docs, drivers, API) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%226\)+UX+docs+cmd+api+driver%22+label%3A%220\)+Project+in+progress%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%226\)+UX+docs+cmd+api+driver%22++label%3A%221\)+Project+in+1+mo%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%226\)+UX+docs+cmd+api+driver%22+label%3A%222\)+Project+in+future%22) |
| **[IPDB](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen++label%3A%227\)+IPDB%22)** | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen++label%3A%227\)+IPDB%22+label%3A%220\)+Project+in+progress%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen++label%3A%227\)+IPDB%22++label%3A%221\)+Project+in+1+mo%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%222\)+Project+in+future%22+label%3A%227\)+IPDB%22+) |
| **[IP PLAT](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%228\)+IP+PLAT+a.io+wotn%22+label%3A%220\)+Project+in+progress%22+)** (ascribe.io, WOTN) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%228\)+IP+PLAT+a.io+wotn%22+label%3A%220\)+Project+in+progress%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%228\)+IP+PLAT+a.io+wotn%22++label%3A%221\)+Project+in+1+mo%22+) | [Projects](https://github.com/bigchaindb/bigchaindb/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%228\)+IP+PLAT+a.io+wotn%22+label%3A%222\)+Project+in+future%22) |
* [Milestones](https://github.com/bigchaindb/bigchaindb/milestones) (i.e. issues to be closed before various releases) [Milestones](https://github.com/bigchaindb/bigchaindb/milestones), [open issues](https://github.com/bigchaindb/bigchaindb/issues), [open pull requests](https://github.com/bigchaindb/bigchaindb/pulls)
* [Open issues](https://github.com/bigchaindb/bigchaindb/issues) and [open pull requests](https://github.com/bigchaindb/bigchaindb/pulls)
Note: Below, #345 refers to Issue #345 in the BigchainDB repository on GitHub. #N refers to Issue #N. Here is our physical planning board. It's organized like the table above. We aim to update this weekly.
![alt tag](https://github.com/bigchaindb/bigchaindb/blob/master/roadmap.jpg)
## Deployment and Federation Configuration/Management
* Define how a federation is managed - [#126](https://github.com/bigchaindb/bigchaindb/issues/126)
* Review current configuration mechanism - [#49](https://github.com/bigchaindb/bigchaindb/issues/49)
* Make the configuration easier for Docker-based setup - [#36](https://github.com/bigchaindb/bigchaindb/issues/36)
## Testing
* (Unit-test writing and unit testing are ongoing.)
* More Integration Testing, Validation Testing, System Testing, Benchmarking
* Define some standard test systems (e.g. local virtual cluster, data center, WAN)
* Develop standardized test descriptions and documentation (test setup, inputs, outputs)
* Build up a suite of tests to test each identified fault
* More tools for cluster benchmarking
* Identify bottlenecks using profiling and monitoring
* Fault-testing framework
* Clean exit for the bigchaindb-benchmark process - [#122](https://github.com/bigchaindb/bigchaindb/issues/122)
* Tool to bulk-upload transactions into biacklog table - [#114](https://github.com/bigchaindb/bigchaindb/issues/114)
* Tool to deploy multiple clients for testing - [#113](https://github.com/bigchaindb/bigchaindb/issues/113)
* Tool to read transactions from files for testing - [#112](https://github.com/bigchaindb/bigchaindb/issues/112)
## Specific Bugs/Faults and Related Tests
* Validation of other nodes
* Changefeed watchdog
* Non-deterministic assignment of tx in S is a DoS vulnerability - [#20](https://github.com/bigchaindb/bigchaindb/issues/20)
* Queues are unbounded - [#124](https://github.com/bigchaindb/bigchaindb/issues/124)
* Better handling of timeouts in block creation - [#123](https://github.com/bigchaindb/bigchaindb/issues/123)
* Secure node-node communication - [#77](https://github.com/bigchaindb/bigchaindb/issues/77)
* Checking if transactions are in a decided_valid block (or otherwise) when necessary - [#134](https://github.com/bigchaindb/bigchaindb/issues/134)
* When validating an incoming transaction, check to ensure it isn't a duplicate - [#131](https://github.com/bigchaindb/bigchaindb/issues/131)
* Consider secondary indexes on some queries - [#105](https://github.com/bigchaindb/bigchaindb/issues/105)
## Transactions / Assets
* Current Top-Level Goal: Define and implement "v2 transactions", that is, support multisig (done) and:
* Support for multiple inputs and outputs - [#128](https://github.com/bigchaindb/bigchaindb/issues/128)
* Crypto-conditions specific to ILP - [#127](https://github.com/bigchaindb/bigchaindb/issues/127)
* Support divisible assets - [#129](https://github.com/bigchaindb/bigchaindb/issues/129)
* Define a JSON template for digital assets - [#125](https://github.com/bigchaindb/bigchaindb/issues/125)
* Revisit timestamps - [#132](https://github.com/bigchaindb/bigchaindb/issues/132)
* Refactor structure of a transaction - [#98](https://github.com/bigchaindb/bigchaindb/issues/98)
* Plugin or hook architecture e.g. for validate_transaction - [#90](https://github.com/bigchaindb/bigchaindb/issues/90)
## Web API (HTTP Client-Server API)
* Current Top-Level Goal: Support v2 transactions (see above)
* Validate the structure of incoming transactions
* Return the correct error code if something goes wrong
* Validate transaction before writing it to the backlog - [#109](https://github.com/bigchaindb/bigchaindb/issues/109)
* Better organization of transaction-related code - [#108](https://github.com/bigchaindb/bigchaindb/issues/108)
* Add an endpoint to query unspents for a given public key
* More endpoints
* See [open issues with the "rest-api" label](https://github.com/bigchaindb/bigchaindb/issues?q=is%3Aissue+is%3Aopen+label%3Arest-api)
## Drivers
* Update the reference driver (Python) to support v2 transactions and web API (see above)
* Drivers/SDKs for more client-side languages (e.g. JavaScript, Ruby, Java)
## Public Sandbox Testnet and Public BigchainDB
* Deploy a 3-node Public Sandbox Testnet in a data center, open to all external users, refreshing daily
* Deploy Public BigchaindB Testnet with more than 3 nodes and with nodes more globally-distributed
* Public BigchainDB governance/voting system
* Transaction (or usage) accounting
* Billing system
## Other
* Get BigchainDB production-ready for submission to AWS Marketplace (as an AMI)
## Future
* Permissions framework
* More Byzantine fault tolerance (BFT)
* Better support for smart contract frameworks
* Algorithm audits
* Protocol audits
* Code (implementation) audits
* Security audits
* IPFS interoperability - [#100](https://github.com/bigchaindb/bigchaindb/issues/100)
* ORM to better-decouple BigchainDB from its data store (will make it easy to try other databases)
* Support more server operating systems

View File

@ -121,7 +121,7 @@ Assuming you have Docker installed, you would proceed as follows.
In a terminal shell, pull the latest version of the BigchainDB Docker image using: In a terminal shell, pull the latest version of the BigchainDB Docker image using:
```text ```text
docker pull bigchaindb/bigchaindb:latest docker pull bigchaindb/bigchaindb
``` ```
then do a one-time configuration step to create the config file; we will use then do a one-time configuration step to create the config file; we will use
@ -130,7 +130,7 @@ be stored in a file on your host machine at `~/bigchaindb_docker/.bigchaindb`:
```text ```text
$ docker run --rm -v "$HOME/bigchaindb_docker:/data" -ti \ $ docker run --rm -v "$HOME/bigchaindb_docker:/data" -ti \
bigchaindb/bigchaindb:latest -y configure bigchaindb/bigchaindb -y configure
Generating keypair Generating keypair
Configuration written to /data/.bigchaindb Configuration written to /data/.bigchaindb
Ready to go! Ready to go!
@ -147,7 +147,7 @@ Let's analyze that command:
documentation](https://docs.docker.com/engine/userguide/containers/dockervolumes/#mount-a-host-directory-as-a-data-volume) documentation](https://docs.docker.com/engine/userguide/containers/dockervolumes/#mount-a-host-directory-as-a-data-volume)
* `-t` allocate a pseudo-TTY * `-t` allocate a pseudo-TTY
* `-i` keep STDIN open even if not attached * `-i` keep STDIN open even if not attached
* `bigchaindb/bigchaindb:latest` the image to use * `bigchaindb/bigchaindb the image to use
* `-y configure` execute the `configure` sub-command (of the `bigchaindb` command) inside the container, with the `-y` option to automatically use all the default config values * `-y configure` execute the `configure` sub-command (of the `bigchaindb` command) inside the container, with the `-y` option to automatically use all the default config values
@ -157,7 +157,7 @@ After configuring the system, you can run BigchainDB with the following command:
$ docker run -v "$HOME/bigchaindb_docker:/data" -d \ $ docker run -v "$HOME/bigchaindb_docker:/data" -d \
--name bigchaindb \ --name bigchaindb \
-p "58080:8080" -p "59984:9984" \ -p "58080:8080" -p "59984:9984" \
bigchaindb/bigchaindb:latest start bigchaindb/bigchaindb start
``` ```
The command is slightly different from the previous one, the differences are: The command is slightly different from the previous one, the differences are:
@ -200,7 +200,7 @@ You can load test the BigchainDB running in that container by running the `bigch
```text ```text
$ docker run --rm -v "$HOME/bigchaindb_docker:/data" -ti \ $ docker run --rm -v "$HOME/bigchaindb_docker:/data" -ti \
--link bigchaindb \ --link bigchaindb \
bigchaindb/bigchaindb:latest load bigchaindb/bigchaindb load
``` ```
Note the `--link` option to link to the first container (named `bigchaindb`). Note the `--link` option to link to the first container (named `bigchaindb`).

BIN
roadmap.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 KiB