@rnssolution/color-keys
v2.0.3
Published
js version of color wallet signer and address generation
Downloads
14
Readme
Color Keys
Color Keys is a library for creating keys and signing messages on Color. You can use it to generate keypairs and addresses and to sign messages for the Color Network.
This library deals with tasks that are considered security-critical and should be used very carefully.
Install
yarn add @rnssolution/color-keys
Usage
Create a wallet
import { getNewWallet } from "@rnssolution/color-keys"
const { ColorAddress, privateKey, publicKey } = getNewWallet()
// Attention: protect the `privateKey` at all cost and never display it anywhere!!
Import a seed
import { generateWalletFromSeed } from "@rnssolution/color-keys"
const seed = ...24 seed words here
const { ColorAddress, privateKey, publicKey } = generateWalletFromSeed(seed)
// Attention: protect the `privateKey` at all cost and never display it anywhere!!
Sign a message
import { signWithPrivateKey } from "@rnssolution/color-keys"
const privateKey = Buffer.from(...)
const signMessage = ... message to sign, generate messages with "@lunie/Cosmos-js"
const signature = signWithPrivateKey(signMessage, privateKey)
Using with Color-js
import { signWithPrivateKey } from "@rnssolution/color-keys"
import Color from "@lunie/Cosmos-js"
const privateKey = Buffer.from(...)
const publicKey = Buffer.from(...)
// init Color sender
const Color = Color(STARGATE_URL, ADDRESS)
// create message
const msg = Color
.MsgSend({toAddress: 'color1abcd09876', amounts: [{ denom: 'stake', amount: 10 }})
// create a signer from this local js signer library
const localSigner = (signMessage) => {
const signature = signWithPrivateKey(signMessage, privateKey)
return {
signature,
publicKey
}
}
// send the transaction
const { included }= await msg.send({ gas: 200000 }, localSigner)
// await tx to be included in a block
await included()