Git Product home page Git Product logo

wallet-android's Introduction

wallet-android

-技术资料参考

项目本地根目录-source

  • 天空链设计参考链接

    https://www.figma.com/file/efvGt8mcdRQScuevWAojfF8v/Skycoin-Wallets?node-id=3%3A910

    //蓝湖: https://lanhuapp.com/web/#/item/board?pid=f747528f-8b48-41a9-8c83-8579c979f134

    processon:https://www.processon.com/mindmap/5a0bf8f3e4b049e7f4fdcc0a

    助记词的理解:

    一,先生成128-256位随机数字,也就是熵;

    二,根据随机数字进行SHA256算法求出前4位校验和

    三,把随机数和校验和进行相拼接

    四,将拼接的结果划分位11位不同的部分

    五,每一个11部分对应的十进制数据就是助记词映射表中对应的角标,一般为0-2047 六,完成映射关系后,生成有序的单词组就是助记词 七,得到助记词后,使用秘钥延伸函数PBKDF2算法可以计算种子,PBKDF2算法包含两个参数,第一个为助记词,第二个是盐,也就是密码,不同密码产生不同的种子,种子长度一般为512位 八,根据种子创建HD钱包,HD钱包中所有的秘钥都衍生于这个种子,所以有了这个种子就等于有了所有的秘钥 九,根据种子创建主私钥和主公钥,使用HMAC-SHA512算法就可以得到一个512的哈希值,哈希值左256位部分为主私钥,右256位部分为主链代码。主私钥可以根据椭圆曲线乘法计算出主公钥,主链代码,用于衍生子私钥或子公钥的必须条件 十,私有子私钥衍生,母私钥,主链代码,索引三者结合在一起在根据HMAC-SHA512算法计算出512的哈希值,左256位部分为子私钥,右256位部分为链代码,子私钥在根据椭圆曲线乘法计算出子公钥,同时子私钥也可以生成自己的子私钥,一层一层往下,即树型结构

    助记词的理解:

    为什么会有助记词? 1,早起比特币钱包中是没有助记词规范的,它在内部默认产生了100多对私钥以及公钥来管理比特币地址的,所以使用者需要特别注意备份,因为一旦丢失私钥就意味着你失去了你对钱包(比特币)的控制,而且一个私钥以及公钥只能对应一个具体地址,这并不方便管理。 2,相对于字母+数字的普通私钥,助记词更方便与用户的记忆。

    Keystory是以太坊提出的规范,助记词是比特币提出的规范,还有普通私钥和观察者,本质上都是属于私钥。

wallet-android's People

Contributors

ikimiler avatar jnyoung avatar luhangh avatar hanyh2004 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.