https://github.com/cpuchain/btc-signer
Easy to use Blockbook Provider and Signer object for Bitcoin-like Coins
https://github.com/cpuchain/btc-signer
Last synced: 3 months ago
JSON representation
Easy to use Blockbook Provider and Signer object for Bitcoin-like Coins
- Host: GitHub
- URL: https://github.com/cpuchain/btc-signer
- Owner: cpuchain
- License: mit
- Created: 2024-07-19T18:43:20.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-08-12T00:54:42.000Z (10 months ago)
- Last Synced: 2024-08-12T01:48:09.468Z (10 months ago)
- Language: TypeScript
- Homepage: https://wallet.cpuchain.org
- Size: 3.29 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# btc-signer
Easy to use Blockbook Provider and Signer object for Bitcoin-like Coins
### Features
- Ethers.js like Provider & Signer object for Bitcoin-fork coins (Bitcoin, Litecoin, Dogecoin, etc.)
- Provider library for Blockbook & Mempool (electrs) API
- Can compose necessary signed & unsigned PSBT Transaction Object from BIP39 Mnemonic Seed / Private Key (WIF) / View only (Public Key)
- Does not require deep understanding of how to compose bitcoin transactions from scratch (the reason why this library exists).
- Taproot Support (HD Taproot Signer still WIP)
### Supported APIs
- [x] Blockbook (Recommended as it supports xpub addresses and have various coin support like Dogecoin and ZCash)
- [x] Mempool (Electrs) Instances (mempool.space, litecoinspace, blockstream.info)
- [] Blockchair (Maybe at the future)
### Quick Start
```ts
// bitcoin reexports bitcoinjs lib
import { bitcoin, MnemonicWallet, CoinProvider } from 'btc-signer';const provider = new CoinProvider({
backend: 'https://mempool.space/testnet4'
});const wallet = new MnemonicWallet(provider, {
mnemonic: 'test test test test test test test test test test test junk',
network: {
...bitcoin.networks.testnet,
versions: {
bip44: 1
}
}
});// tb1pfewlxm8meyyvgjydfu7v8j4ej64symj6ut8sf66h9germp94qgzsgnnjhk
console.log(wallet.address);
// p2tr:cSBTc78h1Ab9MNcQcFD8w3kNTW8xWM4EjTQgKLDq9gUG9GrRZD3f
console.log(wallet.privateKeyWithPrefix);
// 028c7fc6552af4384a13791e63bac79ff2bcfeedf143a88d6dc4b6080a8829cdc1
console.log(wallet.publicKey);// output is txid
console.log(await wallet.sendTransaction([
{
address: 'tb1pfewlxm8meyyvgjydfu7v8j4ej64symj6ut8sf66h9germp94qgzsgnnjhk',
// 1 sat
value: 1
}
]));
```### Examples
- [Web Wallet](https://github.com/cpuchain/cpuchain-wallet) - Open source browser side web wallet
- [CPUchain Pay](https://github.com/cpuchain/cpuchain-pay) - Open source server side Node.js Payment Gateway