BCH Open-source Pulse : Vol #5
# Weekly Summary
This is the Fifth Week of the BCH Pulse weekly developer newsletter. Existing projects have been updated.
# Chris Pacia
## BCHD
Current work
* Continuing work from previous week
* improving gRPC Api
Future Work
* Reusable Addresses
Wants help with:
* Need urgent backports 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
* Deployed new public nodes (bchd.greyh.at, and bchd-testnet.greyh.at) with updated APIs
Current work
* Prep work to add new indexes to bchd to support reusable address spec started by @imaginary_username
* Finishing up SLPDB support using gRPC interface
* Continuing work from previous week
Future work
* Reusable Addresses
Wants help with:
* Need urgent backports and fixes from the Andriod-neutrino repo:
http://github.com/gcash/android-neutrino/issues http://github.com/gcash/bchd/issues
# Tyler S.
## BCHD
Current work
* Continuing work from previous week
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
Current work
* 2017 backports nearly completed and 2018 backports about a third completed.
Planned work
* Backporting Bitcoin Core patches
Wants help with:
* backporting 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
* Continuing work from previous week
Future work
* Transaction builder https://gitlab.com/FloweeTheHub/thehub/blob/master/libs/utils/TransactionBuilder.h
Wants help with:
* Corresponding about toolkits 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
# Joshua Green
## Bitcoin Verde
Working on
* Working on updating the Bitcoin Verde explorer to show the validity of SLP transactions
Wants help with:
* Providing a bloom-filter-like tx-index
* Connection-pool quirk
* Windows build
Issues
https://github.com/SoftwareVerde/bitcoin-verde/pull/2
# Jonathan Silverblood
## Cashual Wallet
Working on
* An improved coinmap (gitlab coming out soon)
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
* Released new UI design for Crescent Cash with links to other applicable services
* Released v1.7.0 which polishes the UI up and replaces the send button with a slide-to-send button
Working on
* Social features
* Implementing the CoinText pay-to-phone-number BIP70 API feature into bitcoincashj
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
# Axel Gembe
## Electron Cash
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
Current work
* SLP bugfixes and performance tuning
* Continuing work from last week
Future work
* Reusable addresses
Would like help with:
* Replacing Electrum backend 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
* Continuing work from last week
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 backend)
* 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
Futurework
* 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
* Continuing work from last week
# AlwaysAn0n
## CashShuffle.js
Working on
* Continuing work from last week
Would like help with:
* Review the behaviour of the ShuffleRound class using tests https://github.com/alwaysAn0n/cashshufflejs-web/pull/7
# Chris Troutner
Working on
* Slp-sdk for working with SLP UTXOs
https://github.com/Bitcoin-com/slp-sdk/pull/56
* Continuing work from last week
Would like help with:
* Adding SLP token support to bch-cli-wallet
* Add support for SideShift.ai
* Add support for Cashshuffle
* troutsblog.com/about to explore the way IPFS and BCH can be used together.
# James Cramer
## Simple Ledger (SLPDB - Electron Cash SLP)
Current Work
* Begin merging SLP into mainline version of Electron Cash
Future Work
* Coordinate security audit for SLP code/protocol
Wants Help With:
* Token document standards for NFTs and fungible tokens
# Jason Dreyzehner
## Bitauth-ide
Recently Completed:
* Schnorr signature support for JS: https://blog.bitjson.com/schnorr-signature-support-for-javasscript-using-webassembly-d11c9613e785
Current Work:
* Continuing work from last week
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
Current Work
* Continuing work from last week
Future Work:
* Custom icon
## Mecenas Recurring Payment Plugin
Recently Completed
* Major bugfix: Some of the contracts inaccessible for protege due to wrong encoding of numbers; assistance from Tendo Pein and Mark Lundeberg
Current Work
* More precise time estimation
Future Work
* Increase performance when loading contracts
# Shammah Chancellor
## Cashweb Keyserver
Current Work:
* Continuing work from last week
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
Current Work
* Started BCHan a tutorial project, and proof of concept, for an *off-chain* service using micropayments to pay for accounts and other service usage. The tutorial service is a simple image board.
* Found a frontend developer and a designer
Future Work:
* Implement backend API
Would like help with:
* Implementing a CashID Library for Golang
* Any other interesting backend or frontend development.
# Tendo Pein
## Spedn
Current Work
* Continuing work from last week
Future Work
* Schnorr multisig 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
### Bitcoin Unlimited
Website: https://www.bitcoinunlimited.info/ (https://www.bitcoinunlimited.info/)
Repo: https://github.com/BitcoinUnlimited
Workspace: https://bitcoinunlimited.slack.com (https://bitcoinunlimited.slack.com/)
Language: C++
License: MIT
Overview:
The Bitcoin Unlimited organization maintains an open source full-node client for the Bitcoin Cash network in order to provide more choice to node operators and to add robustness to the network.
The organization supports continued growth and adoption of Bitcoin as a peer-to-peer electronic cash system as described in Satoshi Nakamoto's white paper.
### 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
### Bitcoin Verde
Website: https://bitcoinverde.org/
Repo: https://github.com/SoftwareVerde/bitcoin-verde
Language: Java
License: MIT
Maintainer: Joshua Green
Overview
Bitcoin-Verde is a ground-up implementation of the Bitcoin (Cash) (BCH) protocol. This project is an indexing full node, blockchain explorer, and library. They are continuing to improve database indexing from both an informational, disk-space, and performance perspective. They are also focused on increasing stability, which includes improving handling misbehaving nodes.
Primary roadmap items
* SLP transactions indexes
* Preparing the SLP/SPV libraries for release
## 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.
### Bitcoin Mining Parliament
Website: https://virtualpol.com/BMP_EN.pdf
Repo: https://github.com/JavierGonzalez/BMP
Language: PHP
Maintainer: Javier Gonzalez
Overview: Hashpower voting software. Allows Authentication with hardware-wallet, real time chat, vote creation and rectifiable votes.
Primary Roadmap Items
* Connect BMP to multiple blockchains
### 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
### Consolidating Coinjoin
Repo: https://gist.github.com/christroutner/8d54597da652fe2affa5a7230664bc45
License: MIT
Maintainer: Chris Troutner
Overview: A trusted, central wallet, combining its UTXOs is equivalent to a CoinJoin. Consists of a command-line wallet, a mirror which is a type of node that wallets connect to download from p2p servers, and the servers that can transfer data between clearnet and dark web.
https://gist.github.com/christroutner/457b99b8033fdea5ae565687e6360323
Primary roadmap items:
* Build cloud infrastructure
* Integrate IPFS blob or .onion hidden service
### 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.
### P2PVPS
Website: https://p2pvps.org/
Repo:https://github.com/P2PVPS/p2pvps-client
Workspace: https://t.me/bch_js_toolkit
Language: JavaScript
License: MIT
Maintainer: Chris Troutner
Status: Offline
Overview: P2P VPS aspires to create a peer-to-peer (P2P) marketplace offering Virtual Private Servers (VPS), the P2P VPS marketplace will never have the speed or reliability of the commercial outfits linked above. Instead, the focus of P2P VPS is to create a decentralized network of anonymous web servers, capable of delivering websites or web apps, in order to prevent censorship and promote free speech.
Primary roadmap items:
* Automated payments
* Refunds
* ERC20 native token
### 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.