BCH Dev Infrastructure and Tooling
Description
Project scope#1 - mainnet-jsContinue forward on the mainnet-js development front after recent big achievements: releasing the v3.0.0 with HDWallet support (https://x.com/mainnet_pat/status/2018289563647570197) with its integration in Cashonize wallet (https://x.com/cashonize/status/2019077673666974092), creation of the new ElectrumCash client library rpckit(https://x.com/mainnet_pat/status/2019772722453045418) which has huge stability and resilience enhancements with fallback and cluster meta-transports.I would like to fully migrate torpckit as mainnet-js' network provider; eliminate most of the issue backlog; responding to feature requests (double-spend-proof alert integration, encrypted secret storage, etc.); modernise the project infrastructure to prevent the code rot.#2 - WalletConnect2 extended specification to support HDWalletsExtend the WalletConnect2 specification (https://github.com/mainnet-pat/wc2-bch-bcr) to support the HDWallets and upgrade Cashonize to use it, update the existing tooling based on mainnet-js and libauth for others to use (https://github.com/mainnet-pat/bch-wc2, https://github.com/mainnet-pat/dapp-starter). This will allow us to harden the stability and reliability of the WC2 in BCH dApps.#3 - CashScript Contract Development KitCreate a Ethereum's Hardhat-like experience for BCH: extract the CashScript testing suite (hosted in https://github.com/CashScript/cashscript/tree/master/examples/testing-suite, but authored by me long ago in https://cs-flip.pat.mn) into a separate project and standalone npm package, build a npx create-cashscript-devkit scaffolding CLI, and begin framework features (task system, network management, contract interaction CLI). Contract developers use this suite to develop and debug contract packages like xSushi, Olando, etc., in a sandboxed environment before developing the user-facing apps. This should narrow our developer experience gap when compared with Ethereum's ecosystem, HardHat and Foundry environments.Further improve the testing-specific MockNetworkProvider to use rpckit to be fully compatible implementation of ElectrumCash protocol in memory, for node.js and browsers. This would allow to build custom testing blockchains, extend and track UTXO set, validate transactions upon submissions using libauth. This approach will also allow to "fork" the existing blockchains like BCH mainnet to evaluate the transactions against existing (contract) UTXOs. This approach is already standard for EVM world (https://www.tevm.sh) and we should catch up.#4 - TapSwap / BCHPUMPWith the help of the prerequisite step #3, extract and formalise for others to reuse the current TapSwap.cash contracts (Selene wallet wants to embed them into the wallet app). Create new TapSwap contract types – partial limit orders for fungible tokens, limited-time (expiring) contracts (also to mitigate the UTXO bloat and kill too old contracts), and auction contracts. Plus, upgrade the marketplace UI (it is almost 3 years old) for a better trading experience. Furthermore, developing a fast, dedicated TapSwap contract indexer will be a big UX improvement. And since BCHPump.cash lives in the same codebase as TapSwap, it will benefit a lot from these developments too.BonusAs a bonus track with minor items, I would like to get back to some of my existing projects to modernize them: revitalize the EmeraldDAO app; rework the p2p-cash (https://github.com/mainnet-pat/p2p-cash) to use libauth and rpckit for the new full typing with failover and cluster meta-transport strategies; create DefiLlama adapters for TapSwap and BCHPump
Cashonize
Timeline
May 11, 2025
May 11, 2025 at 08:07 PM
11 months ago
#897,854
Recipients (1)
bitcoincash:qprxjcz55gcgfgxzq4eretm55mrwsgzxny3z0wn8tmShared Recipients (1)
Other campaigns funded by the same recipient address — typically the same team across multiple rounds.