🅒🅖🅒 Coingrig Core
The Coingrig Core library handling the wallet interactions
Usage in your project
Import the library in your project with yarn add @coingrig/core
Library Development setup
Run yarn. (Installs dependencies and links packages in the workspace.)
Compilation
Create an .env file to configure the platform: TESTNET=true|false.
The default value is TESTNET=false.
Test
Jest tests are set up to run with TESTNET=true yarn test.
Documentation
Classes
BitcoinGenerator ⇐GenericGenerator
BscGenerator ⇐ EthereumGenerator
EthereumGenerator ⇐ GenericGenerator
PolygonGenerator ⇐ EthereumGenerator
GenericGenerator
WalletFactory
WalletGenerator
GenericWallet
Don't use the generic wallet, for a new coin write an implementation
BitcoinGenerator ⇐ GenericGenerator
Kind: global class
Extends: GenericGenerator
BscGenerator ⇐ EthereumGenerator
Kind: global class
Extends: EthereumGenerator
EthereumGenerator ⇐ GenericGenerator
Kind: global class
Extends: GenericGenerator
PolygonGenerator ⇐ EthereumGenerator
Kind: global class
Extends: EthereumGenerator
GenericGenerator
Kind: global class
GenericGenerator.generateWalletXpub(mnemonic, config) ⇒ string
Generate the wallet's XPUB
Kind: static method of GenericGenerator
Returns: string -
The XPUB value
| Param | Type |
|---|---|
| mnemonic | string |
| config | * |
GenericGenerator.generatePrivateKeyFromMnemonic(mnemonic, derivation, config) ⇒ string
Generate the wallet's Private Key
Kind: static method of GenericGenerator
Returns: string -
The Private Key
| Param | Type |
|---|---|
| mnemonic | string |
| derivation | integer |
| config | * |
GenericGenerator.generateAddressFromXPub(xpub, derivation, config) ⇒ string
Generate teh wallet's Public Address
Kind: static method of GenericGenerator
Returns: string -
The Public Key
| Param | Type |
|---|---|
| xpub | string |
| derivation | integer |
| config | * |
WalletFactory
new WalletFactory()
Implements the Factory pattern to help generate easily wallets for the supported blockchains.
WalletGenerator
Kind: global class
WalletGenerator.generateMnemonic([size]) ⇒ string
Generates a string containing the 12 words used as a mnemonic to create the private and public wallet keys.
Kind: static method of WalletGenerator
Returns: string -
The mnemonic
| Param | Type | Default | Description |
|---|---|---|---|
| [size] | number |
128 |
Or use 256 for 24 words |
WalletGenerator.getDriver(chain) ⇒ GenericGenerator
Offers direct access to the drivers that offer the key generation.
Kind: static method of WalletGenerator
| Param | Type |
|---|---|
| chain | Chains |
WalletGenerator.generateWalletXpub(chain, mnemonic, [config]) ⇒ string
Generate the wallet's XPUB address. The source of all addresses to be generated for the public.
Kind: static method of WalletGenerator
Returns: string -
The wallet's XPUB address
| Param | Type | Default | Description |
|---|---|---|---|
| chain | Chains |
The type of chain |
|
| mnemonic | string |
||
| [config] | * |
CONFIG |
WalletGenerator.generatePrivateKeyFromMnemonic(chain, mnemonic, derivation, [config]) ⇒ string
Generate the wallet's private key.
Kind: static method of WalletGenerator
Returns: string -
The wallet's private key
| Param | Type | Default | Description |
|---|---|---|---|
| chain | Chains |
The type of chain |
|
| mnemonic | string |
||
| derivation | integer |
The derivation key to allow generation of more private keys for the same chain |
|
| [config] | * |
CONFIG |
WalletGenerator.generateAddressFromXPub(chain, xpub, derivation, [config]) ⇒ string
Generate the public wallet address for the specified chain
Kind: static method of WalletGenerator
Returns: string -
The wallet's public address
| Param | Type | Default | Description |
|---|---|---|---|
| chain | Chains |
The type of chain |
|
| xpub | string |
||
| derivation | integer |
||
| [config] | * |
CONFIG |
GenericWallet
Don't use the generic wallet, for a new coin write an implementation
Chains : enum
Enum for supported blockchains types
Kind: global enum
Read only: true
Properties
| Name | Type | Description |
|---|---|---|
| BTC | string |
"BTC" |
| ETH | string |
"ETH" |
| MATIC | string |
"MATIC" |
| BSC | string |
"BSC" |
Code of Conduct
This library has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
License
The Coingrig Core Library is licensed under the MIT License.