tfc-chain-key

module
v0.0.0-...-7ea54e2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2021 License: MIT

README

tfc-chain-key

这是一个golang package,封装了以太坊协议中的公私钥算法,提供以下功能:

  • 生成新的私钥
  • 根据私钥计算公钥
  • 根据私钥/公钥计算账户地址
  • 使用私钥对任意数据进行签名
  • 使用公钥验证任意数据的签名

环境要求

  • Node.js 14
  • Yarn 1.*
  • Go: 1.6+

命令行接口

下载源码
git clone https://github.com/Troublor/tfc-chain.git && cd tfc-chain/packages/tfc-chain-key
编译可执行文件
yarn workspace @tfc-chain/key build

编译出的可执行文件在./bin目录下。

使用方法

生成新的私钥:

./bin/tfc-chain-key new

查看一个私钥所对应的公钥和账户地址:

./bin/tfc-chain-key inspect <private key | public key>

对任意二进制数据签名:

./bin/tfc-chain-key sign <private key> <binary data in hex>

验证签名:

./bin/tfc-chain-key verify <public key | address> <signature> <binary data in hex>

Go Package

安装tfc-chain-key包:

go get -u github.com/Troublor/tfc-chain/packages/tfc-chain-key

Importtfc-chain-key包:

import "github.com/Troublor/tfc-chain/packages/tfc-chain-key/key"

生成新的私钥:

privateKey, err := key.GenPrivateKey()

查看一个私钥所对应的公钥和账户地址:

address, err := key.PublicKeyToAddress(publicKey)
address, err := key.PrivateKeyToAddress(privateKey)
publicKey, err := key.PrivateKeyToPublicKey(privateKey)

对任意二进制数据签名:

signature, err := key.SignData(privatekey, data)

验证签名:

pass, err := key.VerifySignatureWithPublicKey(publicKey, signature, data)
pass, err := key.VerifySignatureWithAddress(address, signature, data)

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL