Skip to content

mmMrz/CashAddr-Dart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

CashAddr-Dart

For general bch new address format of CashAddr
Bitcoin Cash general purpose address translation for Flutter/Dart
通过Dart实现的比特币地址到BCH CashAddr格式地址的转换实现.可用于Flutter移动钱包开发.

Wallet开发用到了BCH,需要使用BCH的CashAddr格式的地址
pub.dev中的Package只有两个两年前更新的库,依赖的老版本的库对新开发的项目不友好.
根据官方规则编写了一个Dart工具类,没有依赖包,参考了其它语言的实现

Use

使用方法:

//生成不带前缀和分隔符的地址
String cashaddr = BCHUtils().encode("bchtest", 0, "公钥Hash(SHA256(RIPEMD160(Pubkey)))");
//生成带前缀(bitcoincash|bchtest|bchreg)和分隔符(:)的地址
String cashaddr = BCHUtils().encodeFull("bchtest", 0, "公钥Hash(SHA256(RIPEMD160(Pubkey)))");

其中,第一个参数前缀选项:
bitcoincash 用于Bitcoin Cash主网络
bchtest 用于Bitcoin Cash测试网络
bchreg 用于Bitcoin Cash注册测试

第二个参数用于版本字节中的类型
0 :P2KH,1 :P2SH

第三个参数是公钥Hash,也就是生成BTC地址时的值,生成其的伪代码为

SHA256(RIPEMD160(Pubkey))

具体可参考另一篇Blog
生成BTC的Address,以及解码出公钥哈希(Pubkey Hash)

有用的话给个Star Thanks♪(・ω・)ノ
QQ群:653317062 (失踪的新华社)

References

About

For general bch new address format of CashAddr

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages