See also:
- Milestones (i.e. issues to be closed before various releases)
- Open issues and open pull requests
Note: Below, #345 refers to Issue #345 in the BigchainDB repository on GitHub. #N refers to Issue #N.
- Define how a federation is managed - #126
- Review current configuration mechanism - #49
- Make the configuration easier for Docker-based setup - #36
- (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
- Tool to bulk-upload transactions into biacklog table - #114
- Tool to deploy multiple clients for testing - #113
- Tool to read transactions from files for testing - #112
- Validation of other nodes
- Changefeed watchdog
- Non-deterministic assignment of tx in S is a DoS vulnerability - #20
- Queues are unbounded - #124
- Better handling of timeouts in block creation - #123
- Secure node-node communication - #77
- Checking if transactions are in a decided_valid block (or otherwise) when necessary - #134
- When validating an incoming transaction, check to ensure it isn't a duplicate - #131
- Consider secondary indexes on some queries - #105
- Current Top-Level Goal: Define and implement "v2 transactions", that is, support multisig (done) and:
- Support for multiple inputs and outputs - #128
- Crypto-conditions specific to ILP - #127
- Support divisible assets - #129
- Define a JSON template for digital assets - #125
- Revisit timestamps - #132
- Refactor structure of a transaction - #98
- Plugin or hook architecture e.g. for validate_transaction - #90
- 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
- Better organization of transaction-related code - #108
- Add an endpoint to query unspents for a given public key
- More endpoints
- See open issues with the "rest-api" label
- 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)
- 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
- Get BigchainDB production-ready for submission to AWS Marketplace (as an AMI)
- 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
- ORM to better-decouple BigchainDB from its data store (will make it easy to try other databases)
- Support more server operating systems