package
1.0.2
Repository: https://github.com/bpfs/defs.git
Documentation: pkg.go.dev

# Functions

AddressToPublicKeyHash 通过钱包地址获取公钥哈希 参数: - address (string): 钱包地址 返回值: - []byte: 公钥哈希 - error: 失败时的错误信息.
DecodeBase58 从Base58格式解码数据 参数: - data (string): Base58编码的字符串 返回值: - []byte: 解码后的数据.
DoubleSHA256 对数据执行两次SHA-256哈希 参数: - data ([]byte): 需要哈希的数据 返回值: - []byte: 哈希值.
EncodeBase58 将数据编码为Base58格式 参数: - data ([]byte): 输入的数据 返回值: - string: Base58编码后的字符串.
ExtractPublicKey 从ECDSA私钥中提取公钥 参数: - privateKey (*ecdsa.PrivateKey): 输入的ECDSA私钥 返回值: - []byte: 提取的公钥的字节表示.
GenerateECDSAKeyPair 从给定的种子生成ECDSA密钥对 参数: - salt ([]byte): 加密操作的盐值 - password ([]byte): 用于生成密钥的密码 - iterations (int): PBKDF2算法的迭代次数 - keyLength (int): 生成的密钥长度 - useSHA512 (bool): 是否使用SHA512哈希函数 返回值: - *ecdsa.PrivateKey: 生成的私钥 - []byte: 公钥的字节表示 - error: 失败时的错误信息.
HashPublicKey 将公钥字节进行SHA-256和RIPEMD-160双重哈希 参数: - pubKeyBytes ([]byte): 公钥的字节表示 返回值: - []byte: 公钥的哈希值.
InitWallet 初始化钱包,包括加载本地钱包数据和设置关闭时的保存逻辑 参数: - lc (fx.Lifecycle): 应用程序的生命周期 返回值: - InitWalletOutput: 包含初始化的钱包 - error: 如果初始化过程中发生错误.
IsAddressOfPublicKey 验证给定地址是否由指定的公钥生成 参数: - address (string): 输入的Base58编码钱包地址 - publicKey ([]byte): 输入的公钥字节 返回值: - bool: 地址是否由公钥生成的布尔值.
IsAddressOfPublicKeyHash 验证给定地址是否与公钥哈希匹配 参数: - address (string): 输入的Base58编码钱包地址 - publicKeyHash ([]byte): 输入的公钥哈希 返回值: - bool: 地址是否与公钥哈希匹配的布尔值.
IsValidAddress 检查钱包地址是否有效 参数: - address (string): 钱包地址 返回值: - bool: 地址是否有效的布尔值.
IsValidPublicKey 检查公钥字节是否有效 参数: - pubKeyBytes ([]byte): 公钥字节 返回值: - bool: 公钥是否有效的布尔值.
IsValidPublicKeyHash 检查公钥哈希是否有效 参数: - pubKeyHash ([]byte): 公钥哈希 返回值: - bool: 公钥哈希是否有效的布尔值.
MarshalPrivateKey 将ECDSA私钥序列化为字节表示 参数: - privateKey (*ecdsa.PrivateKey): 输入的ECDSA私钥 返回值: - []byte: 私钥的字节序列 - error: 失败时的错误信息.
MarshalPublicKey 将ECDSA公钥序列化为字节表示 参数: - publicKey (ecdsa.PublicKey): 输入的ECDSA公钥 返回值: - []byte: 公钥的字节序列.
PrivateKeyToAddress 通过私钥生成钱包地址 参数: - privateKey (*ecdsa.PrivateKey): 私钥 返回值: - string: 钱包地址 - bool: 是否成功.
PrivateKeyToPublicKeyHash 通过私钥生成公钥哈希 参数: - privateKey (*ecdsa.PrivateKey): 私钥 返回值: - []byte: 公钥哈希 - bool: 是否成功.
PublicKeyBytesToAddress 通过公钥字节生成钱包地址 参数: - pubKeyBytes ([]byte): 公钥字节 返回值: - string: 钱包地址 - bool: 是否成功.
PublicKeyBytesToPublicKeyHash 通过公钥字节生成公钥哈希 参数: - pubKeyBytes ([]byte): 公钥字节 返回值: - []byte: 公钥哈希 - bool: 是否成功.
PublicKeyHashToAddress 通过公钥哈希生成钱包地址 参数: - pubKeyHash ([]byte): 公钥哈希 返回值: - string: 钱包地址 - bool: 是否成功.
PublicKeyToAddress 通过公钥生成钱包地址 参数: - publicKey (ecdsa.PublicKey): 公钥 返回值: - string: 钱包地址 - bool: 是否成功.
PublicKeyToPublicKeyHash 通过公钥生成公钥哈希 参数: - publicKey (ecdsa.PublicKey): 公钥 返回值: - []byte: 公钥哈希 - bool: 是否成功.
UnmarshalPrivateKey 将字节序列反序列化为ECDSA私钥 参数: - privKeyBytes ([]byte): 私钥的字节表示 返回值: - *ecdsa.PrivateKey: 反序列化后的ECDSA私钥 - error: 失败时的错误信息.
UnmarshalPublicKey 将字节序列反序列化为ECDSA公钥 参数: - pubKeyBytes ([]byte): 公钥的字节表示 返回值: - ecdsa.PublicKey: 反序列化后的ECDSA公钥 - error: 失败时的错误信息.
VerifyAddressChecksum 验证地址的校验和是否正确 参数: - address (string): 输入的Base58编码钱包地址 返回值: - bool: 校验和是否正确的布尔值.

# Structs

InitWalletOutput 初始化钱包输出结构体.
LocalWallets 本地钱包存储结构.
LoginInfo 登录钱包信息结构体.
Wallet 钱包主结构体,管理钱包数据和操作.
WalletInfo 单个钱包的信息.