This is the Ninth edition of the BCH Pulse developer newsletter. Existing projects have been updated. We will now be moving to a monthly publication. Submissions are due in by the 20th of each month.
Information can be sent to the new email bch.dev.mail@gmail.com
Here is some of the work that is being built on BCH by the Developers. This does not take into account work done by developers who chose to remain anonymous.
Developers ~
Chris Pacia - BCHD
Currently working on:
Misc work on SLP support in BCHD.
Wants help with:
SLP support in BCHD:
https://github.com/gcash/bchd/issues/328
Tyler Smith - BCHD
Recently completed:
Released first spec draft for Avalanche pre/post consensus system (Snowglobe) and started discussing and incorporating feedback.
Currently working on:
Continuing work on Avalanche system, both spec and implementation, and working through feedback received from the spec draft.
Working with some experienced computational proof (zkSNARKS, SONICS, etc) developers to derisk, formalize, and build test systems for some potential ways to bring the technology to Bitcoin Cash.
Future work:
Finishing initial public version of Avalanche test system and incorporation of initial spec feedback
Releasing some proof of concept systems utilizing zero knowledge proofs to aid in scalable validation.
Wants help with:
Researching and building Snowglobe prototype. e.g. spec writing/editing, test writing, manual testing, code writing and review. Design and front-end skills are also very valuable.
Researching and building SNARK-based applications.
Previous knowledge is very helpful for either, but solid writing, engineering, or design skills are enough to learn and participate. No contributions are too small!
Mark Lundeberg - Bitcoin ABC
Recently completed:
Got CashFusion alpha working smoothly, near-beta state
Currently working on:
Preparing for May upgrade
Future work:
Improve Schnorr signature usage (add to ABC wallet), start work on Schnorr batched validation.
Further improvements to CashFusion
Starting work on November upgrade.
Jason Cox - Bitcoin ABC
Recently completed:
Code review UX improvements
Improved release automation
Currently working on:
Better review process UX
More release automation and test coverage
Future work:
Faster infrastructure deployments
Wants help with:
Unit test, utility, and network back-ports:
https://github.com/Bitcoin-ABC/bitcoin-abc/blob/master/doc/backporting.md
Antony Zegers - Bitcoin ABC
Currently working on:
BCH Script Roadmap
https://gist.github.com/Mengerian/7ae4c4abbc6f4d1664507c817a51da2f
Amaury Sechet - Bitcoin ABC
Recently completed:
Packaged libsecp56k1 for the rest of the ecosystem to use
https://github.com/bitcoin-ABC/secp256k1/Automated testing improvements.
PSBT
Currently working on:
Support for Quic
Future work:
Prep for May 2020 network upgrade
Rework of checksig.
Opcode to reverse bytes in stack element
Wants help with:
Node development, pretty much anything somebody would be interested in working on and helping to maintain.
Andrea Suisani - Bitcoin Unlimited
Recently completed:
BU: https://github.com/BitcoinUnlimited/BitcoinUnlimited/pull/2053
(Add Nov 15th 2019 checkpoints for mainnet and testnet)
BU: https://github.com/BitcoinUnlimited/BitcoinUnlimited/pull/2070
([port][rpc] Add getchaintxstats and uptime RPC calls)
EC: https://github.com/Electron-Cash/Electron-Cash/pull/1771
(Add Bitcoin Unlimited managed Electrum server to the white list)
BU: Use BU BCH ppa repository as Berkely DB packages provider
BU: Update ElectronCash build instruction to take into account binary rename
BU: Fix input validation for traffic shaping parameters
Set up a new instance of Electrum server maintained by BU (electrs.bitcoinunlimited.info)
Currently working on:
Porting https://github.com/janoside/btc-rpc-explorer over to BCH
Setting up an explorer for BCH
Future work:
Gigablock testnet experiment #2 iteration
May 2020 upgrade feattures (op_reverse and sigCheck)
Wants help with:
Porting https://github.com/janoside/btc-rpc-explorer over to BCH
Andrew Stone - Bitcoin Unlimited
Currently working on:
Phase 1 BCH specification project for evaluation http://reference.cash
Collaboration on DS proofs with TomZ.
Voting software dev project.
UMass research on a Bobtail and Storm prototype
Tail elimination difficulty DAAs.
Testing of long unconfirmed chains and “intelligent forwarding” algorithm.
PRs covering smaller stuff.
Testbench work to create a dedicated gitlab runner and docker container
Peter Tschipper - Bitcoin Unlimited
Recently completed:
O(n^2) post block processing related to long chains
Currently working on:
Multi-threaded block validation
Future work:
Giga-net testing
Joshua Green - Bitcoin Verde
Recently completed:
Bitcoin Verde has been dedicated to working on the Bitcoin Cash Protocol Specification. With the funding depleted, we are looking for additional funding. Until then, we have begun resuming optimizing Bitcoin Verde for a smaller disk footprint and improving the initial block download sync time. We are also making time to release our wallet.
Below are details regarding the status of the Bitcoin Cash Protocol Specification:
The protocol specification work that was funded by Bitcoin Unlimited was completed
Current status can be viewed at https://bitcoinprotocol.cash
The repo behind bitcoinprotocol.cash is located at https://github.com/SoftwareVerde/bitcoin-cash-specification
Bitcoin Unlimited’s clone of the repo is located at https://github.com/BitcoinUnlimited/BitcoinCashSpecification
Other node implementations are encouraged to clone the repository. If you’re a developer and would like to have write access to bitcoinprotocol.cash create an account and ask for it to be activated in the Bitcoin Verde telegram. We encourage at least one representative from each node implementation to have write access. The consortium is looking to diversify control of the bitcoinprotocol.cash system. This includes different owners of the following attributes:
- The bitcoinprotocol.cash domain (Verde)
- The bitcoinprotocol.cash repository (to be determined)
- The bitcoinprotocol.cash server (BCHD)
Currently working on:
Looking for additional funding to expand on the specification.
Future work:
The code used to host bitcoinprotocol.cash will be released soon.
Scott McDermid - PayButton
Recently completed:
Setup framework for proper API documentation.
Currently working on:
API documentation hand-off.
Webpage refresh.
Future work:
Transition PayButton from polling to socket connection.
Pokkst - Crescent Cash
Recently completed:
Native SLP integration into bitcoincashj. This will allow for fully-featured SPV SLP wallets with HD support for Android and Desktop with Java.
tipbitcoin.cash HONK SLP token support.
tipbitcoin.cash backend improvements and fixes.
Future work:
tipbitcoin.cash fixes.
Crescent Cash Desktop SLP support.
Imaginary_Username - Electron Cash
Recently completed:
Doing reviews for misc projects.
Currently working on:
Reusable address: Working closely with both bchd and Harry Barber for a layer on top of bitcoind. Prototype server:
https://github.com/hlb8122/prefix-server/tree/dev/grpc
Future work:
Assist with double-spend proof testing and implementation
Investigate Avalanche and Storm pre-consensus mechanisms
Calin Culianu - Electron Cash
Recently completed:
Fulcrum SPV server early beta: https://github.com/cculianu/Fulcrum
Currently working on:
Fulcrum release
Future work:
CashFusion release / UI polish
Wants help with:
Testing and writing documentation
How-tos for Fulcrum once it’s released (which is soon!)
Jonald Fyookball - Electron Cash
Currently working on:
CashFusion for Beta Release
Researching Cash Fusion Maths
James Cramer - SLPDB / Electron Cash SLP
Recently completed:
Preparations for SLPDB v1.0 upcoming release (“db-updates” branch on GitHub
Initial sync time is now as low as 8 hours using bchd gRPC, compared to previous sync time of ~24+ hours
Startup time is now as low as ~60 seconds with gRPC, compared to the previous startup time of 30 minutes
Real-time validation speed is much faster and unconfirmed/confirmed items always have validation finished (no longer possibly pending slp validation)
Memory footprint is reduced to 1 GB, compared to previous footprint of ~6 GB
Addresses and UTXOs collections removed (Breaking Change)
The latest version is running at nyc1.slpdb.io (maybe on or offline since I’m using this for testing)
Electron Cash SLP 3.6.2 Pre-Release
Fixed issue related to “Wallet does not have SLP input” error on sending SLP transactions
Currently working on:
Electron Cash SLP 3.6.2: Add “exclude_txids” in Graph Search server query. Prepare for release with testing.
SLPDB v1.0: Completing a few unfinished items to reach feature parity with SLPDB 0.15
Future work:
Develop more testing scripts for SLPDB
Continued maintenance and improvements for EC SLP and SLPDB
Wants help with:
Developing testing scripts for SLPDB
Developing some unit tests scripts for Electron Cash SLP
Jonathan Silverblood - Cashual Wallet
Currently working on:
Misc smart contract work.
Replacement for BitBacker
Future work:
Switching Cashual backend to use Electrum
Fernando Pelliccioni - Bitprim
Currently working on:
Backporting code to ABC
Bitprim node improvements
Future work:
Remove the restriction of 25 chained transactions.
AlwaysAn0n - CashShuffle
Wants help with:
CashShuffle library unit tests and performance audit
Chris Troutner - Bitcoin.com
Recently completed:
Token-liquidity app is more robust and includes token burning via OP_RETURN code: https://github.com/Permissionless-Software-Foundation/token-liquidity
Math behind the token-liquidity app:
https://troutsblog.com/blog/design-pseudo-stable-community-token
Currently working on:
Benchmarking standards and tests for the ‘Cash Stack’: https://github.com/christroutner/benchmark-bch/tree/master/docs
More explanation of the ‘Cash Stack’
https://troutsblog.com/research/bitcoin-cash/how-to-bch-full-stack-developer
Future work:
Porting the features and payment processing in api.bchjs.cash and account.bchjs.cash to rest.bitcoin.com
Wants help with:
Feedback on the benchmark tests would be great. Open to thoughts on better testing methods and additional testing methods. I will publish a post to r/bitcoincash once I’ve finished the first draft.
Karol Trzeszczkowski - Plugins
Recently completed:
*Currently working on paper wallet manager for Electron Cash, Mecenas with cash account, hardware wallet support for Last Will
Future work:
Fully automated Mecenas
Wants help with:
Hardware wallet in Last Will plugin
Tobias Ruck - SLPDEX
Recently completed:
Cashcontracts-rs, which makes working with transactions and contracts much simpler: https://github.com/slpdex/cashcontracts-rs
Currently working on:
OP_REVERSE
Be.Cash
Wants help with:
*Mitra
*Bitcoin-cash crate: https://crates.io/crates/bitcoin-cash
Future work:
More Be.Cash features
Mitra transaction format
Bitcoin-cash crate: https://crates.io/crates/bitcoin-cash
Tendo Pein - Spedn
Currently working on:
Compiler optimization algorithms
Future work:
Macros
Pattern matching
IDE support
Rosco Kalis - CashScript
Recently completed:
CashScript v0.3.1, including bug fixes, improved error handling and some interal refactoring.
Currently working on:
Article on covenant use cases with CashScript, collaborating with Andre Cabrera on browser support for CashScript.
Future work:
Advanced compiler optimizations, tuple assignments, and other improvements
Needs help with:
Trying out CashScript and reporting any bugs or suggestions. Also any open issues on the CashScript repository (https://github.com/Bitcoin-com/cashscript/issues), specifically any issues labeled “help wanted” or “good first issue”.
No submission this issue -
George Bissias - Bitcoin Unlimited
Justin Holmes - Bitcoin Unlimited
Dagurval - Bitcoin Unlimited
Tom Zander - Flowee
Axel Gembe - Electron Cash
Pete - Bitcoin.com
Shammah - Cashweb Keyserver
Calling all developers working on BCH
We invite any developer (working on BCH) who isn’t featured in this issue to self report / submit what you are working on for the next issue of BCH Open-Source Pulse.
We’re looking for information on:
Recently completed
Current work
Future work (stuff you’d like to get to after you’re done with your current work)
Anything you’d like some help with
Please email us at bch.dev.mail@gmail.com
You can find a copy of this newsletter online at: The Future of Bitcoin Cash