21、区块链开发:哈希生成、客户端应用与冲突解决

区块链开发:哈希生成、客户端应用与冲突解决

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值