@coingrig/core
TypeScript icon, indicating that this package has built-in type declarations

1.3.2 • Public • Published

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

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

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

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

Kind: global class

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.

Package Sidebar

Install

npm i @coingrig/core

Homepage

coingrig.com

Weekly Downloads

5

Version

1.3.2

License

MIT

Unpacked Size

1.02 MB

Total Files

122

Last publish

Collaborators

  • radu.vulpescu
  • florindumitru