BCH Open-source Pulse : Vol #2
# Weekly Summary
This is the second week of the BCH Pulse weekly developer newsletter. Existing projects have been updated. Six new projects have been added: Bitauth-ide, Simple Ledger, Spedn, Inter-wallet Transfer Plugin, Mecenas Recurring Payment Plugin, and TipBitcoin.cash. Five new developers have been added to the mailing list: Corbin Fraser, James Cramer, Jason Dreyzehner, Karol Trzeszczkowski, and Tendo Pein. Reorganized newsletter by alphabetical order and subject matter.
# Chris Pacia
## BCHD
Recently Completed
* Downstream peers get new blocks on reorg event
* Script package to pass the full set vectors found in Bitcoin-ABC to prevent forking
Current work
* Add RPC calls to gRPC API to service Electron-Cash
* Build an SLP index and RPC
Future Work
* Reusable Addresses
Wants help with:
* Need urgent back-ports and fixes from the Andriod-neutrino repo: http://github.com/gcash/android-neutrino/issues http://github.com/gcash/bchd/issues
# Josh Ellitorpe
## BCHD
Recently Completed
* Release neutrino android wallet and add support for smaller screens
Current work
* Add RPC calls to gRPC API to service Electron-Cash
* Build an SLP index and RPC
Future work
* Reusable Addresses
Wants help with:
* Need urgent back-ports and fixes from the Andriod-neutrino repo:
http://github.com/gcash/android-neutrino/issues http://github.com/gcash/bchd/issues
# Tyler S.
## BCHD
Recently Completed
* Reviewed a bug fix, now when scanning block files, ignore files that don't end in .fdb
Current work
* Experimenting with adding checkdatasig-enabled features to OB transactions
* Blind escrow
* Payout covenants
* Expand BCHD Avalanche demo to include post consensus
* Allow anyone to become a participant permissionlessly.
Wants help with:
* Implementing CashFusion and contributing to the CashFusion specification
* Reviewing the following Pull Requests:
* https://github.com/gcash/android-neutrino/pull/31
* https://github.com/gcash/bchd/pull/265
* CashShuffle library for Golang
# Jason Cox
## Bitcoin ABC
Recently Completed
* Fixed make check-devtools to iterate over a list of devtools tests
* Simplified cmake check-devtools to work in a similar way as the make build, making it easier to add tests
Current work
* Building test infrastructure
* Optimizing Code
Planned work
* Back-porting Bitcoin Core patches
Wants help with:
* back-porting improvements to the functional test framework
https://github.com/Bitcoin-ABC/bitcoin-abc/blob/master/doc/functional-tests.md
https://github.com/Bitcoin-ABC/bitcoin-abc/blob/master/doc/backporting.md
* Improving Deep linking specification - https://github.com/bitcoincashorg/bitcoincash.org/pull/145
# Tom Zander
## Flowee
Working on
* Hub service "AddressMonitor" (to get notifications of transactions on certain addresses) adding double-spend-notifications.
https://gitlab.com/FloweeTheHub/thehub/commit/0755acd1e6f0ec3d47cf68d01012dccc4cf5eb0d
* Beta for a JSON generating BitCore compatible server which from the outside is indistinguishable from a bitcore one, but it is very low resources as it just reuses existing Flowee infrastructure.
Future work
* Proof of concept for double-spend proofs
* Transaction builder https://gitlab.com/FloweeTheHub/thehub/blob/master/libs/utils/TransactionBuilder.h
Wants help with:
* Corresponding about tool-kits and languages developers prefer to start new project in.
* This would help give focus on which type of bindings to create.
* Website translations and rewrite of the about-page with more documentation
* Work on docker images and configs
* Research on how to be able to quick-start a complex (multiple server) setup
# Jonathan Silverblood
## Cashual Wallet
Recently Completed
* Updated documentation and test data for Cash-intents
Working on
* Integrating BIP70/JPP payment support
* OP_RETURN metadata (Cash-intents)
Future work
* Cloud backup
* Reusable Addresses
Wants help with:
* Would be happy to help other projects with user interface reviews
* Testing Cashual and giving actionable feedback
* 3rd party BWC/BSW dependency libraries
* Resolve bugs in bitcoincom fork of bitcore in order to get BIP70 working
* There is an open issue at bitcore insight to add raw transactions: https://github.com/bitpay/bitcore/pull/1881
# Pokkst
## Crescent Cash
Recently Completed
* Desktop: Added BCH denominations such as: mBCH, uBCH, and sats
* DT/Mobile: Released an update with optimizations, bug fixes, and USD/EUR input support.
* DT/Mobile: Now utilizes a better URI detection system, can detect cointext:, and cashacct: URI schemes.
* New URI Scheme for CashAccounts, It follows along the path of BIP21, for example: cashacct:pokkst#12435?amount=1.23
Working on
* Refining the UI
* Optimizing and cleaning up codebase
Future work
* Social features
Wants help with:
* A better PHP library for Bitcoin Cash. Potentially look at forking bitcoin-lib-php
* Java based wallet library akin to bitcore-wallet-client and bitcore-lib
## Tipbitcoin.cash
Recently Completed
* Featured streamers banner for website
* Bug-fix where tips would just not register and would fail to show up on screen.
* Added SLP support! Currently only supporting Spice token.
* Multiple bug fixes and UI improvements to the site.
* Upgraded the Twitch API from v5 (Kraken) to the New Twitch API (Helix).
* Bug-fix regarding float scientific notation formatting.
# Axel Gembe
## Electron Cash
Recently Completed
* Improvements for automatic builds and reproducibility
Working on
* Improving UI polish
* Make emojis consistent to enhance the UX of the user.
Would like help with:
* Finding an NFC library that could be used with Electron Cash
* Fixing hardware support issues.
# Calin Culianu
## Electron Cash
Recently Completed
* Integration of CashAccounts
Current work
* Improving the UI/UX by going through user submitted issues in the issue trackers
* Tools, menu options, tabs, and small fixes
Future work
* Integrating the SLP edition into main client
* Reusable addresses
Would like help with:
* Replacing Electrum back-end for Electron Cash with something better and more performant
* BCH UX Fix: Mandatory CashAddr for P2SH. (https://github.com/Electron-Cash/Electron-Cash/issues/1225)
* Reviewing zero confirmation forfeit from Awemany (https://github.com/Electron-Cash/Electron-Cash/pull/964)
# Imaginary_Username
## Electron Cash Development
Current work
* Soliciting input for a reusable address spec
https://github.com/imaginaryusername/Reusable_specs/blob/master/reusable_addresses.md
* Product design
* Quality Assurance
* Community needs
* Create long-term strategies for the wallet
* Assists in cashshuffle development
* Runs various nodes for DevOps. (append .imaginary.cash after)
* rest (providing full services with an almost completely independent back-end)
* bch bitcoin-abc, electrumx, p2pool
* electrum BU, electrumx, cash-account
* insight bitcore-insight, bitcore-insight-testnet, bitcore-wallet-service
* cashacct cashaccount
* slpserve SLPserve endpoint for SLPDB
* bchd bchd
* p2pool BU, p2pool
* testnet bitcoin-abc-testnet, testnet explorer
* sync EC labelsync, cosigner pool
Future work
* Double-spend proof (on hiatus until BIP62 is in).
Would like help with:
* Looking to recruit developers who are interested in doing toy implementations.
# Jonald Fyookball
## Electron Cash Development
Working on
* CashFusion v2.0 specification
https://github.com/cashshuffle/spec/blob/master/CASHFUSION.md
# AlwaysAn0n
## CashShuffle.js
Working on
* Maintaining and improving library
Would like help with:
* Review the behavior of the Shuffle Round class using tests https://github.com/alwaysAn0n/cashshufflejs-web/pull/7
# James Cramer
## Simple Ledger (SLPDB - Electron Cash SLP)
Recently Completed:
* Specification for non-fungible tokens (NFT1)
* NFT1 support to Electron Cash SLP edition, SLPDB, and SLPJS library
* SLPDB improvements and bug fixes
Current Work
* Improving validation speeds for light wallets using SLPDB graph search, initial implement into Electron Cash SLP
* Release Electron Cash SLP version 3.4.15
Future Work
* Coordinate security audit for SLP code/protocol
* Improvements for Woo Commerce SLP payments plug-in
Wants Help With:
* Token document standards for NFTs and fungible tokens
# Jason Dreyzehner
## Bitauth-ide
Recently Completed
* Refactor (secp256k1): Simplify ternary expression
* Draft authentication-related APIs
Current Work
* Finish BCH virtual machine implementation and get it passing the script_tests.json file from Bitcoin ABC.
Future Work
* Build bitcoin-ts into a fairly complete library of BCH utilities for creating/debugging transactions. (A lot like bitcore-lib-cash, but a more FP approach rather than the object-oriented style, and without dependencies)
https://github.com/bitauth/bitcoin-ts
# Karol Trzeszczkowski
## Inter-wallet Transfer Plugin
Recently Completed
* The UTXO list now formats the amount properly in BCH, mBCH, etc
* Deletes temp file on app exit or plugin object destruction
* Transfer thread waits for wallet to be up_to_date...
* Transfer thread aborts immediately due to use of Queue object for
Sleeping
Current Work
* Gathering UI feedback
Future Work:
* Custom icon
Would like help with:
https://github.com/KarolTrzeszczkowski/Inter-Wallet-Transfer-EC-plugin/issues/6
## Mecenas Recurring Payment Plugin
Recently Completed
* Initial release
Current Work
* More precise time estimation
Future Work
* Increase performance when loading contracts
# Shammah Chancellor
## Cashweb Keyserver
Recently completed:
* Created basic infrastructure for Cashweb
Current Work:
* Cashid tutorial
* Keyserver spec finalization
Future Work:
* Relay network support for Keyserver nodes
* Proof of Concept integration with Electron Cash
Would like help with:
* Corresponding on wallet integrations, and other possible uses.
* Code reviews, and pull requests for:
* Node peering
* Banning and rate limiting
* Real payment support (right not the server does not specify a payment as part of the BIP70 invoice)
## BCHan
Recently Completed
* Basic framework
Current Work
* Started BCHan a tutorial project, and proof of concept, for an *off-chain* service using micro-payments to pay for accounts and other service usage. The tutorial service is a simple image board.
* Found a front-end developer and a designer
Future Work:
* Implement backend API
Would like help with:
* Implementing a CashID Library for Golang
* Any other interesting back-end or front-end development.
# Tendo Pein
## Spedn
Recently Completed
* Making Spedn compiler use-able as a TypeScript/JavaScript library.
Current Work
* Optimization
Future Work
* Schnorr multi-sig support
* Optimization techniques so the compiler could produce shorter scripts
* Improved support for covenants
* Macros.
Would like help with:
* Feedback and proposals about Spedn syntax.
# Software List
## Node Software
### BCHD
Website: https://bchd.cash/
Repo: http://github.com/gcash
https://github.com/gcash/android-neutrino
https://github.com/gcash/bchwallet
Language: Golang
License: copyfree.org ISC license
Overview:
* Work to provide an excellent API experience to BCH developers
* Combine full node, indexer, SLPDB, electrumX into one software app — BCHD
* BCHD provides an address index for app developers + JSON-RPC and gRPC interfaces
* BIP 157/158 to power Neutrino based wallets
* Built a Neutrino android wallet beta and a command line wallet backend
Primary roadmap items
* Working with ElectrumX Protocol
* Enhancing gRPC interface to support SLPDB
* Finish and release neutrino android
* CashAccount integration
* Reusable Addresses
### Bitcoin ABC
Website: https://www.bitcoinabc.org/
Repo: https://reviews.bitcoinabc.org/
Mirror: https://github.com/Bitcoin-ABC/bitcoin-abc
Workspace: https://t.me/joinchat/HCYr50mxRWjA2uLqii-psw
Language: C++
License: MIT
Overview:
Implementing a series of optimizations and protocol upgrades enabling p2p cash at scale
Refactor various parts of the codebase and maintain infrastructure for the ecosystem
Primary roadmap items
* Build out QUIC infrastructure
* Implement Schnorr multisig
### Flowee
Website: https://flowee.org/
Repo:https://gitlab.com/FloweeTheHub/thehub
https://gitlab.com/FloweeTheHub/devs/bitcore-proxy
Workspace: https://discordapp.com/invite/WXPcf6G
Language: C++
License: GNU GPLv3
Maintainer: Tom Zander
Overview
Flowee is a suite of servers that provide infrastructure that connects to a node hub
Basic infrastructure has been created for the hub and indexer
The current direction is to extend that but create something directly usable by app-developers.
Primary roadmap items
* Develop a Bitcore-proxy insight server that reuses existing Flowee Infrastructure
* Refractor bitcore into library functions
* Create bindings from current C++ code to for a transaction building library
* Design a double spend proof concept
## Wallet Software
### Crescent Cash
Website: https://crescent.cash/
Repo: https://gitlab.com/pokkst/crescentcash
Language: Java
License: MIT
Overview:
* Non-custodial wallet
* CashAccounts
* Features:
* SLP tokens,
* BIP70
* Cointext SMS
Primary roadmap items:
* Refining the UI
* Optimize and clean up the codebase
* Social features
### Cashual Wallet
Website: https://play.google.com/store/apps/details?id=org.monsterbitar.wallet
Repo: https://gitlab.com/monsterbitar/cashual-wallet
Maintainer: Jonathan Silverblood
Languages:
* Javascript
* CSS
* HTML
* Cordova
License: MIT
Overview:
* User friendliness
* CashAccounts and UX
* Non-custodial Wallet
Primary roadmap items
* Integrating BIP70/JPP payment support
* OP_RETURN metadata (CashIntents)
* Cloud backup
* UI for the backup/restore process
* Reusable Addresses
### Electron Cash
Website: https://electroncash.org/
Repo: https://github.com/Electron-Cash/
Workspace: https://t.me/electroncashwallet
Language: Python
License: MIT
Overview
Improve privacy, features, and performance
Features:
* Cash Shuffle
* SLP Edition
* BIP70
* cold storage
* Schnorr signatures
* HD wallet integration
* Plug-in support is available.
* There are also versions supported by iOS and Android.
Priorities
* CashAccount integration and registration into the client
* Improved UI polish
* Merging the SLP edition into the main client
* Reusable address specification
* CashFusion protocol
## Misc Software Projects
### Bitauth-ide
Repo: https://github.com/bitauth/bitauth-ide
Language: JavaScript
Maintainer: Jason Dreyzehner
Overview: Bithauth-ide is an integrated development environment for bitcoin authentication.
### Cashshuffle.js Library
Repo: https://github.com/alwaysAn0n/cashshufflejs-web
Language: Javascript
Maintainer: AlwaysAn0n
Overview:
A javascript Cashshuffle client for use in front-end web applications and the browser.
### Cashweb Keyserver
Repo: https://github.com/cashweb/keyserver
Language: Golang
License: MIT
Maintainer: Shammah Chancellor
Overview:
Provide a simple-to-use and cryptographically verifiable way to look up pubkeys, and other metadata, from their hashes. Enabling wallets to query a distributed network of metadata nodes to find out various information for contacting or paying the owners in a secure and private manner. Enabling off-chain correspondence for Stealth Transactions. Additionally, wallets managing a key can advertise special capabilities they support.
Primary roadmap items:
* Get experimental support into a branch of Electron Cash
* Peer 2 Peer relay network for keyserver nodes
* Banning and Rate limiting
* Validating BIP70 transaction data
* Specification for key revocation
### Inter-wallet Transfer Plugin
Repo: https://github.com/KarolTrzeszczkowski/Inter-Wallet-Transfer-EC-plugin
Language: Python
Maintainer: Karol Trzeszczkowski
Overview: A plugin, that sends your coins to another wallet one by one, to a fresh address every time.
Primary roadmap items:
* Optimization
* Fixing issues as they appear
### Mecenas Recurring Payment Plugin
Repo: https://github.com/KarolTrzeszczkowski/Mecenas-recurring-payment-EC-plugin
Language: Python
Maintainer: Karol Trzeszczkowski
Overview: A recurring payment plugin for Electron Cash designed as a solution for noncustodial patronate.
Primary roadmap items:
* Increase usability for recurring donations
* Command line version to serve as backend.
### Simple Ledger (SLPDB - Electron Cash SLP)
Website: https://simpleledger.cash/project/slpdb/
Repo: https://github.com/simpleledger/SLPDB
Workspace: https://t.me/slpdb & https://t.me/simpleledger
Language: TypeScript
License: MIT
Overview: SLPDB has all SLP token data stored in one database.
Primary roadmap items:
* Add additional token graph properties to enhance graph search for light clients
* Add collection for storing token document metadata
### Spedn
Website/Documentation: https://spedn.readthedocs.io/en/latest/
Repo: https://bitbucket.org/o-studio/spedn/src/master/
Workspace: https://t.me/bch_compilers
Maintainer: Tendo Pein
Overview: Spedn is a high level smart contracts language for Bitcoin Cash. It is designed for explicitness and safety.
Primary roadmap items:
* Create a VS Code plugin for working with Spedn -syntax highlighting first, then debugging.
* Lower barrier to entry for developers interested in smart contracts, but in a safe manner to prevent something like a DAO hack.
### Tipbitcoin.cash
Website: https://tipbitcoin.cash
Repo: https://github.com/pokkst/tipbitcoin.cash
Language: Python
License: MIT
Overview:
Users can make an account and accept tips by adding an extended public key. Tipbitcoin.cash works on Twitch, Dlive, and other alternative platforms for streamers also.
Primary roadmap items:
* Add more SLP tokens
* Add more stream customization features
* Design an upload system for the site so users can upload their images/gifs, sounds, etc. directly to the site and to use for their streams rather than having to use a link from a third party.