Liamandrew / react-native-wallet-core

A React Native wrapper around the Trust Wallet Core wallet library for Android and iOS.
MIT License
16 stars 9 forks source link

react-native-wallet-core

A React Native wrapper around the Trust Wallet Core wallet library for Android and iOS.

For more information about the underlying library, please read the comprehensive documentation provided by Trust Wallet here.

Installation

npm install react-native-wallet-core

Currencies Supported

Currently the only currency supported with this wrapper is Ethereum. There will be more coming in the future.

Usage

import TrustWalletCore from "react-native-wallet-core";

// Create a new wallet
const { mnemonic, seed } = await TrustWalletCore.createWallet(128, "");

Full Documentation


createWallet(strength, passphrase)

Creates a new wallet.

const { mnemonic, seed } = await TrustWalletCore.createWallet(128, "");


importWalletFromMnemonic(mnemonic, passphrase)

Import a wallet from a mnemonic recovery phrase. This will also load the wallet into local memory so that it can be used for creating addresses and/or signing transactions.

const { mnemonic, seed } = await TrustWalletCore.importWalletFromMnemonic("ripple scissors kick mammal hire column oak again sun offer wealth tomorrow wagon turn fatal", "");


importWalletFromHexString(hexString, passphrase)

Import a wallet from a hexString seed. This will also load the wallet into local memory so that it can be used for creating addresses and/or signing transactions.

const { mnemonic, seed } = await TrustWalletCore.importWalletFromHexString("<HEX_STRING>", "");


getAddressForCoin(coin)

Generate and retrieve the default address for a coin. The address is generated using the default derivation path of a coin.

const address = await TrustWalletCore.getAddressForCoin("ethereum");


deriveAddressForCoin(coin, derivationPath)

Generate an address using a custom derivation path.

const { address, privateKey } = await TrustWalletCore.deriveAddressForCoin("ethereum", "m/44'/60'/1'/0/0");


signTransactionForCoin(coin, input)

Generate and retrieve the default address for a coin. The address is generated using the default derivation path of a coin.

const { r, s, v, encoded, hashValue } = await TrustWalletCore.signTransactionForCoin("ethereum", {
    chainID: "0x01",
    amount: "0x0348bca5a16000",
    nonce: "0x00",
    toAddress: "0xC37054b3b48C3317082E7ba872d7753D13da4986",
    privateKeyDerivationPath: "m/44'/60'/1'/0/0", // optional - otherwise default address is used
});


cleanup()

Cleanup any previously loaded wallet from local memory.

await TrustWalletCore.cleanup();

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT