什么是多链钱包系统开发丨多链钱包系统开发技术详细及源码分析

简介: 多链钱包,多链钱包简单来说便是能够支撑多个主链渠道令牌的钱包。常见的多链钱包有Bitter、imToken2.0、Cobo钱包等。

  单链钱包通常被称为主链钱包。这种钱包一般是针对渠道型公链开发的。比方IM Token版和MetaMask(许多朋友叫它小狐狸钱包)都是以太坊单链钱包,所以只支撑使用相同规范的ETH和ERC-20令牌。

  多链钱包

  多链钱包简单来说便是能够支撑多个主链渠道令牌的钱包。常见的多链钱包有Bitter、imToken2.0、Cobo钱包等。

/**

  • entropy为上面通过SecureRandom生成的随机数组

**/
public List toMnemonic(byte[] entropy) throws MnemonicException.MnemonicLengthException {

    //为了减少字数删来检查参数的代码
    
    //计算entropyhash作为后面的checksum
    byte[] hash = Sha256Hash.hash(entropy);
    //将hash转换成二进制,true为1,false为0。详情请看bytesToBits函数的解析
    boolean[] hashBits = bytesToBits(hash);
    
    //将随机数组转换成二进制
    boolean[] entropyBits = bytesToBits(entropy);
    
    //checksum长度
    int checksumLengthBits = entropyBits.length / 32;

    // 将entropyBits和checksum加起来,相当于BIP39中的ENT+CS
    boolean[] concatBits = new boolean[entropyBits.length + checksumLengthBits];
    System.arraycopy(entropyBits, 0, concatBits, 0, entropyBits.length);
    System.arraycopy(hashBits, 0, concatBits, entropyBits.length, checksumLengthBits);

    /**
    *this.wordList是助记词列表。
     * 
    **/
    ArrayList<String> words = new ArrayList<>();
    
    //助记词个数
    int nwords = concatBits.length / 11;
    for (int i = 0; i < nwords; ++i) {
        int index = 0;
        for (int j = 0; j < 11; ++j) {
            //java中int是由32位二进制组成,index左移1位,如果concatBits对应的位为true则将index对应的位设置位1
            index <<= 1;
            if (concatBits[(i * 11) + j])
                index |= 0x1;
        }
        //根据索引从助记词列表中获取单词并添加到words
        words.add(this.wordList.get(index));
    }
    //得到的助记词    
    return words;        
}
AI 代码解读
目录
打赏
0
0
0
0
36
分享
相关文章
IDEA常用插件之类Jar包搜索Maven Search
IDEA常用插件之类Jar包搜索Maven Search
769 0
菜鸟入门【ASP.NET Core】15:MVC开发:ReturnUrl实现、Model后端验证 、Model前端验证
ReturnUrl实现 我们要实现returnUrl,我们需要在注册(Register)方法中接收传进的returnUrl并给它默认值null,然后将它保存在ViewData里面 然后我们定义一个内部方法来判断跳转returnUrl //内部跳转 private IActionR...
2696 0
vue + element-UI 图片压缩canvas【详解】(含完整demo)
vue + element-UI 图片压缩canvas【详解】(含完整demo)
650 1
灾难性的服务器域控制器的恢复(原创)
灾难性的服务器域控制器的恢复(原创)
86 0
《时代》专访ChatGPT之父:人工智能影响经济还需要很多年1
1 人工智能的发展 1.1人工智能发展历程 1.1.1 人工智能的起源 1.1.2 人工智能发展的起起伏伏 1.1.3 人工智能多元化
178 0
微服务架构谈(6):从监控到故障定位(下)
微服务架构谈(6):从监控到故障定位(下)
682 0
微服务架构谈(6):从监控到故障定位(下)
4.8 51单片机-PCF8591(ADC/DAC)转换芯片
4.8 51单片机-PCF8591(ADC/DAC)转换芯片
639 0
4.8 51单片机-PCF8591(ADC/DAC)转换芯片
Python系列之二——图说OpenCv
opencv的强大无须质疑,前段时间一直在用c++,总感觉怪怪的,就想着换个语言试试看,这不,小詹同学开始尝试Python啦~ 上期在windows系统上搭建好python和opencv环境后,这期简单操作下opencv中的基本图像处理,Let‘s go~
180 0
Python系列之二——图说OpenCv
AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等