secp256k1和secp256r1都是ECDSA(椭圆曲线数字签名算法)曲线的参数,区别是他们所使用的随机质数不同,目前行业内对于r1算法的安全性存疑,主流的公链基本使用 k 1算法。
在代码中为交易签名时要指明当前节点所在的ChainID,例如原来使用的是TransactionEncoder.signMessage(rawTransaction, credentials) 这个方法, 替换为这个方法 TransactionEncoder.signMessage(rawTransaction, chainId, cre...
用户使用网关SDK调用网关API进行链上交易处理时,网关接收到请求数据后会使用用户应用接入公钥对mac值做验签操作,如验签失败网关会返回"Signature verification failed"提示。 检查initConfig方法中prk(应用接入私钥)私钥证书路径配置是否正确; 检查私钥证书的内容是否正确; 检...
Fabric的账本包含两部分:World state和区块链。World state通常使用数据库保存一组账本当前的状态值,这样就不用遍历所有的交易日志去计算当前的状态值,通常使用key-value键值对表示,状态值可被创建,更新和删除。区块链记录着决定World state状态的交易日志。交易的信息会收集起来追加到区块链,一旦写入,就不...
比如现在A账户只有10元,A同时给B、C都转10元,两笔交易都成功就是”双花“问题了。在Fabric中多个节点同时接到更新同一key不同value的交易请求时,背书节点因是仿真操作,不会真的去改账本数据,所以两个交易 都是成功的,假设当前World state中A的version为1,那么两个交易关于A的读集version都是1,写集v...
1、HyperLedger Fabric官方有开源的单机版环境教程; 可以参考开源的HyperLedger Fabric官方搭建示例: https://github.com/hyperledger/fabric-samples/tree/v1.4.3 搭建自己的测试网络。 2、其中go语言可以使用单元测试代码测试链码的逻辑,使用&quo...
密钥托管模式是指应用接入密钥对和用户交易密钥对均由BSN生成并托管起来,参与方只需要从BSN门户下载使用即可。上传公钥模式是指应用接入密钥对和用户交易密钥对均由参与方在本地生成公私钥对,并在BSN门户上传应用接入公钥,和通过城市节点网关接口将用户交易公钥证书申请文件上传登记生成用户交易证书。 可以概括为上传公钥模式的私钥信息一直在用户手...
测试不通过返回contract funcParam is error是因为用户的智能合约在实例化时,需传入参数赋值,但是在发布服务上传链码包时,没有在页面填写相应的初始化参数,需要在上传链码包时,同时填写初始化参数; 调用智能合约时返回contract funcParam is error是因为用户链下业务系统传入参数的数据类型和智能合...
表示当前交易所需的gas总量超过已设置的gasLimit的值,将gasLimit调大,然后使用eth_gasPrice方法,获取当前链上的平均gasPrice值,将gasPrice设置在这个值上下就可以。
区块链不可篡改的意义在于只提供「Create, Read」两种数据库操作。 区块链是保证数据操作有迹可循; 数据可以进行增删改查,但是会留下操作记录; 区块链的不可篡改是指数据的修改需要达成共识; 共识需要背书策略,背书策略是决定数据修改需要多少(记账)节点的同意。