BCH Open-Source Pulse
Vol #9
Period ending 20/1/2020
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 Thanks!
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.
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 utilising 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 frontend 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!
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 backports:
https://github.com/Bitcoin-ABC/bitcoin-abc/blob/master/doc/backporting.md
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.
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 ElectrsCash build instruction to take into account binary rename
*BU: Fix input validation for traffic shaping parameters
*Set up a new instance of electrum server maintined 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 / howtos 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 the 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
Johnathan 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 optimisations, tuple assignments, and other improvements
Future work:
*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”.
George Bissias - Bitcoin Unlimited
Justin Holmes - Bitcoin Unlimited
Dagurval - Bitcoin Unlimited
Tom Zander - Flowee
Axel Gembe - Electron Cash Pete - Bitcoin.com
Shammah Chancellor - Cashweb Keyserver
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:
- Recently completed
- Current work
- Future work (stuff you’d like to get to after you’re done with your current work)
- Wants help with (Anything you’d like some help with)
Please email us at bch.dev.mail@gmail.com