一、Hyperledger Fabric如何通过虚拟机部署以太坊智能合约
EVM作为用户链代码安装到Fabric中,通过它部署智能合约。单个EVM链代码能在通道上运行多个以太坊智能合约。链码不采用以太坊的共识方法。所有事务遵循Fabric事务流中的执行、订单、验证步骤。在不同组织中确保足够的对等方安装链代码,并设置一个确保一定程度分散的认可政策。与已部署的智能合约交互需要fab3,它通过以太坊JSON RPC API实现一组有限的API,用作web3提供者。
为了安装EVM链代码,链代码位于evmcc下的repo fabric-chaincode-evm。安装链码通常遵循常规步骤,基于fabric-samples中first-network教程的1.3版。
挂载EVM链代码需要更新docker-compose-cli.yaml,包含fabric-chaincode-evm。
通过运行启动网络,执行docker exec-it cli bash命令。如果成功,应显示提示信息。
更改目标对等方,使用环境变量如CORE_PEER_MSPCONFIGPATH、CORE_PEER_ADDRESS、CORE_PEER_LOCALMSPID和CORE_PEER_TLS_ROOTCERT_FILE。
在所有对等设备上安装EVM链代码,执行peer chaincode install和peer chaincode instantiate命令。
与EVM Chaincode交互,有通用方法:通常的Fabric工具和Web3。
使用Peer CLI,部署合约时,to字段设为零地址,input包含合约编译后的evm字节码。与合约交互,设置值,如使用set(x)函数,将值设置为10,然后使用get()函数验证值是否正确。
使用Web3.js库可以改善部署和管理EVM智能合约的用户体验。它期望实现以太坊JSON RPC API的接口。通过设置Fab代理,实现与Fabric网络的交互。
部署合约时,需要evm字节码和合约的ABI。使用web3部署合约后,设置web3.eth.defaultAccount,与合约进行交互,如设置值或验证值。
综上所述,Hyperledger Fabric通过虚拟机部署以太坊智能合约的方法涉及链代码安装、交互和与合约的部署。在部署和管理过程中,利用Fabric工具和Web3.js库可以有效实现智能合约的管理与交互。
二、word里面的电子签名是什么
是指数据电文中以电子形式所含、所附,用于识别签名人身份并表明签名人认可其中内容的数据。
电子签名并非是书面签名的数字图像化。它其实是一种电子代码,利用它,收件人便能在网上轻松验证发件人的身份和签名。它还能验证出文件的原文在传输过程中有无变动。如果有人想通过网络把一份重要文件发送给外地的人,收件人和发件人都需要首先向一个许可证授权机构CA(GlobalSign)申请一份电子许可证。这份加密的证书包括了申请者在网上的公共钥匙即"公共电脑密码",用于文件验证。
发件人使用CA发布的收件人的公钥对文件加密,并用自己的密钥对文件进行签名。当收件人收到文件后,先用发件人的公钥对解析签名,证明此文件确为发件人发的。接着用自己的私钥对文件解密并阅读。
从电子签名的定义中,可以看出电子签名的两个基本功能:
(1)识别签名人
(2)表明签名人对内容的认可电子签名法律上在定义电子签名时充分考虑了技术中立性,关于电子签名的规定是根据签名的基本功能析取出来的,认为凡是满足签名基本功能的电子技术手段,均可认为是电子签名。由电子签名和数字签名的定义可以看出,二者是不同的:电子签名是从法律的角度提出的,是技术中立的,任何满足签名基本功能的电子技术手段,都可称为电子签名;数字签名是从技术的角度提出的,是需要使用密码技术的,主要目的是确认数据单元来源和数据单元的完整性。
电子签名是一种泛化的概念,数字签名可认为是电子签名的一种实现方式,数字签名提供了比电子签名基本要求更高的功能。
本文来自用户投稿,不代表币大牛资讯立场,如若转载,请注明出处:https://www.98xmw.com/zhis/13961.html
发表回复
评论列表(0条)