Skip to content

Repository files navigation

🅒🅖🅒 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

BitcoinGeneratorGenericGenerator
BscGeneratorEthereumGenerator
EthereumGeneratorGenericGenerator
PolygonGeneratorEthereumGenerator
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

ParamType
mnemonicstring
config*

GenericGenerator.generatePrivateKeyFromMnemonic(mnemonic, derivation, config) ⇒ string

Generate the wallet's Private Key

Kind: static method of GenericGenerator
Returns: string -

The Private Key

ParamType
mnemonicstring
derivationinteger
config*

GenericGenerator.generateAddressFromXPub(xpub, derivation, config) ⇒ string

Generate teh wallet's Public Address

Kind: static method of GenericGenerator
Returns: string -

The Public Key

ParamType
xpubstring
derivationinteger
config*

WalletFactory

Kind: global class

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

ParamTypeDefaultDescription
[size]number128

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

ParamType
chainChains

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

ParamTypeDefaultDescription
chainChains

The type of chain

mnemonicstring
[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

ParamTypeDefaultDescription
chainChains

The type of chain

mnemonicstring
derivationinteger

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

ParamTypeDefaultDescription
chainChains

The type of chain

xpubstring
derivationinteger
[config]*CONFIG

GenericWallet

Don't use the generic wallet, for a new coin write an implementation

Kind: global class

Chains : enum

Enum for supported blockchains types

Kind: global enum
Read only: true
Properties

NameTypeDescription
BTCstring

"BTC"

ETHstring

"ETH"

MATICstring

"MATIC"

BSCstring

"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.

About

The Coingrig Core library

Topics

Resources

Code of conduct

Contributing

Stars

14 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages