1
- # Chainify Finance
1
+ # Bitcoin Abstraction Layer
2
2
3
3
> :warning : This project is under heavy development. Expect bugs & breaking changes.
4
4
5
5
Query different blockchains with account management using a single and simple interface.
6
6
7
7
## Dependencies
8
8
9
- This repository was built as an extension to the [ Chainify] ( https://github.com/liquality/chainify ) maintained by the core contributors of [ Liquality ] ( https://liquality.io ) . It is necessary to include the ` Client ` and ` providers ` from the ` @liquality ` npm packages in order to use providers such as the ` BitcoinDlcProvider ` .
9
+ This repository is a standalone project based off of [ Chainify] ( https://github.com/liquality/chainify ) , with heavy modifications to the core Bitcoin wallet libaries. There are no dependencies on the upstream project .
10
10
11
11
## Chain Support
12
12
@@ -20,13 +20,22 @@ This repository was built as an extension to the [Chainify](https://github.com/l
20
20
21
21
| Package| Version|
22
22
| ---| ---|
23
- | [ @atomicfinance/bitcoin-cfd-provider ] ( ./packages/bitcoin-cfd-provider ) | [ ![ Chainify-Finance] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-cfd-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-cfd-provider ) |
24
- | [ @atomicfinance/bitcoin-dlc-provider ] ( ./packages/bitcoin-dlc-provider ) | [ ![ Chainify-Finance] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-dlc-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-dlc-provider ) |
25
- | [ @atomicfinance/bitcoin-wallet-provider ] ( ./packages/bitcoin-wallet-provider ) | [ ![ Chainify-Finance] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-wallet-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-wallet-provider ) |
26
- | [ @atomicfinance/bitcoin-networks ] ( ./packages/bitcoin-networks ) | [ ![ Chainify-Finance] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-networks.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-networks ) |
27
- | [ @atomicfinance/client ] ( ./packages/client ) | [ ![ Chainify-Finance] ( https://img.shields.io/npm/v/@atomicfinance/client.svg )] ( https://npmjs.com/package/@atomicfinance/client ) |
28
- |[ @atomicfinance/provider ] ( ./packages/provider ) |[ ![ Chainify-Finance] ( https://img.shields.io/npm/v/@atomicfinance/provider.svg )] ( https://npmjs.com/package/@atomicfinance/provider )
29
- |[ @atomicfinance/types ] ( ./packages/types ) |[ ![ Chainify-Finance] ( https://img.shields.io/npm/v/@atomicfinance/types.svg )] ( https://npmjs.com/package/@atomicfinance/types )
23
+ | [ @atomicfinance/bitcoin-cfd-provider ] ( ./packages/bitcoin-cfd-provider ) | [ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-cfd-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-cfd-provider ) |
24
+ | [ @atomicfinance/bitcoin-dlc-provider ] ( ./packages/bitcoin-dlc-provider ) | [ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-dlc-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-dlc-provider ) |
25
+ |[ @atomicfinance/bitcoin-esplora-api-provider ] ( ./packages/bitcoin-esplora-api-provider ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-esplora-api-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-esplora-api-provider )
26
+ |[ @atomicfinance/bitcoin-esplora-batch-api-provider ] ( ./packages/bitcoin-esplora-batch-api-provider ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-esplora-batch-api-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-esplora-batch-api-provider )
27
+ |[ @atomicfinance/bitcoin-js-wallet-provider ] ( ./packages/bitcoin-js-wallet-provider ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-js-wallet-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-js-wallet-provider )
28
+ |[ @atomicfinance/bitcoin-utils ] ( ./packages/bitcoin-utils ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-utils.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-utils )
29
+ | [ @atomicfinance/bitcoin-wallet-provider ] ( ./packages/bitcoin-wallet-provider ) | [ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-wallet-provider.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-wallet-provider ) |
30
+ | [ @atomicfinance/bitcoin-networks ] ( ./packages/bitcoin-networks ) | [ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/bitcoin-networks.svg )] ( https://npmjs.com/package/@atomicfinance/bitcoin-networks ) |
31
+ | [ @atomicfinance/client ] ( ./packages/client ) | [ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/client.svg )] ( https://npmjs.com/package/@atomicfinance/client ) |
32
+ |[ @atomicfinance/provider ] ( ./packages/provider ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/provider.svg )] ( https://npmjs.com/package/@atomicfinance/provider )
33
+ |[ @atomicfinance/types ] ( ./packages/types ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/types.svg )] ( https://npmjs.com/package/@atomicfinance/types )
34
+ |[ @atomicfinance/utils ] ( ./packages/utils ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/utils.svg )] ( https://npmjs.com/package/@atomicfinance/utils )
35
+ |[ @atomicfinance/crypto ] ( ./packages/crypto ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/crypto.svg )] ( https://npmjs.com/package/@atomicfinance/crypto )
36
+ |[ @atomicfinance/errors ] ( ./packages/errors ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/errors.svg )] ( https://npmjs.com/package/@atomicfinance/errors )
37
+ |[ @atomicfinance/node-provider ] ( ./packages/node-provider ) |[ ![ Bitcoin-Abstraction-Layer] ( https://img.shields.io/npm/v/@atomicfinance/node-provider.svg )] ( https://npmjs.com/package/@atomicfinance/node-provider )
38
+
30
39
31
40
## DLC Spec Compliance
32
41
@@ -50,28 +59,26 @@ Missing features:
50
59
51
60
## Usage
52
61
53
- ``` javascript
54
-
55
- import { Client } from ' @liquality/bundle'
56
- import BitcoinNetworks from ' @liquality/bitcoin-networks'
57
- import BitcoinRpcProvider from ' @liquality/bitcoin-rpc-provider'
58
- import BitcoinJsWalletProvider from ' @liquality/bitcoin-js-wallet-provider'
59
-
60
- import { Client as FinanceClient } from ' @atomicfinance/bundle'
62
+ ``` typescript
63
+ import Client from ' @atomicfinance/client'
61
64
import BitcoinCfdProvider from ' @atomicfinance/bitcoin-cfd-provider'
62
65
import BitcoinDlcProvider from ' @atomicfinance/bitcoin-dlc-provider'
63
66
import BitcoinWalletProvider from ' @atomicfinance/bitcoin-wallet-provider'
67
+ import BitcoinJsWalletProvider from ' @atomicfinance/bitcoin-js-wallet-provider'
68
+ import BitcoinNetworks from ' @atomicfinance/bitcoin-networks'
64
69
65
70
const network = BitcoinNetworks .bitcoin_testnet
66
71
67
72
const bitcoin = new Client ()
68
- const bitcoinFinance = new FinanceClient (bitcoin);
69
- bitcoin .finance = bitcoinFinance
70
- bitcoin .addProvider (new BitcoinRpcProvider (' https://liquality.io/bitcointestnetrpc/' , ' bitcoin' , ' local321' ))
71
- bitcoin .addProvider (new BitcoinJsWalletProvider (network, ' _insert_mnemonic_' , ' bech32' ))
72
- bitcoin .finance .addProvider (new BitcoinCfdProvider (network));
73
- bitcoin .finance .addProvider (new BitcoinDlcProvider (network));
74
- bitcoin .finance .addProvider (new BitcoinWalletProvider (network));
73
+ bitcoin .addProvider (new BitcoinJsWalletProvider ({
74
+ network ,
75
+ mnemonic: ' mnemonic_here' ,
76
+ baseDerivationPath: ` m/84'/${network .coinType }'/0' ` ,
77
+ addressType: ' bech32' ,
78
+ }))
79
+ bitcoin .addProvider (new BitcoinCfdProvider (network ));
80
+ bitcoin .addProvider (new BitcoinDlcProvider (network ));
81
+ bitcoin .addProvider (new BitcoinWalletProvider (network ));
75
82
76
83
const offerMessage = await alice .dlc .createDlcOffer (... )
77
84
```
0 commit comments