区块链开发:哈希生成、客户端应用与冲突解决
1. 哈希生成与区块链基础操作
1.1 区块链操作概述
在区块链应用中,待处理交易显示在用户界面上,通过克隆技术可获取区块链副本。创世块的创建是通过调用 createGenesisBlock() 方法实现的,该块的交易数组为空。对该块调用 mine() 方法可计算其哈希值,由于挖矿可能耗时较长,为避免用户界面冻结,此方法为异步操作,并使用 await 确保挖矿完成后再将块添加到区块链中。
当用户启动区块链应用时,初始状态下区块链仅包含创世块。用户开始创建待处理交易,点击“确认交易”按钮会调用 minePendingTransactions() 方法,该方法会创建新的块实例、计算其哈希值、将块添加到区块链中,并重置待处理交易数组。
1.2 哈希生成的加密 API 使用
为了使区块链能同时适用于 Web 应用和独立应用,需要使用两种不同的加密 API 来生成 SHA - 256 哈希值:
- Web 应用 :可调用所有浏览器支持的 crypto 对象的 API。
- 独立应用 :运行在 Node.js 运行时,使用 Node.js 的 crypto 模块(https://nodejs.org/api/crypto.html)。
在 lib/universal_sha256.ts
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



