如何读取私有状态变量
以太坊上的状态变更通常通过交易来实现。如果接收账户是交易的合约,那么EVM(以太坊虚拟机)将运行合约代码,或直到代码运行完毕或直到执行过程耗尽所有gas。以太坊钱包系统软件开发
每项交易的数据字段规定了细节(如调用哪种方法和输入参数等)。比如,在合约中修改私有状态的变量,你需要通过交易将“private”数值传递给setter方法。考虑到每个交易数据都对所有节点可见,所以如果知道一项交易,就可以轻易读取其中的私有变量。
存储私有信息的一些方法
在合约中,你可能会有存储私有变量的需求,但这个问题会很复杂。对于存储私有信息,人们已经进行了大量的模拟尝试,其中有一个方法很有趣,它采用的是提交显示模式(commit reveal pattern)。在这个方法中,用户需要首先提交私有信息的哈希,当所有其他人也提交了他们的私有信息的哈希时,每个参与者再亮出自己的投票,之后可以对此进行验证。
公司介绍:
从上游的硬件制造、平台服务、安全服务,到下游的产业技术应用服务,到保障产业发展的行业投融资、媒体、人才服务,各领域的公司已经基本完备,区块链产业链条已经形成。根据您的需求和行业特性,开发定制软件。策划推广服务,系统维护服务,白皮书撰写,ppt等,一条龙服务,值得信赖的企业服务公司。
主要业务:
各类软件的定制开发 物联网技术 AI人工智能 区块链交易系统开发 区块链项目开发 区块链浏览器开发 区块链应用游戏开发 区块链智能合约开发 区块链APP开发 区块链商城开发 区块链应用开发
电/v:
189-23-825-755,欢迎咨询小陈。
==========本公司为专业的开发公司,市面上流行的软件有需要的基本上都可以找我,玩家勿扰,非平台!!!===============
我司提供区块链整体定制开发解决方案(100多人强大的技术团队13年实战开发经验)。 根据您的需求和行业特性,进行个性化的功能开发,项目经理全程为您的产品保驾护航,选择专业的企业服务公司,服务更靠谱。欢迎有成熟开发方案思路的大佬到公司考察面谈。
许多合约,比如游戏合约,通常需要保密一些数值。比如,存储玩家的下一步行动或等着被猜的数字。虽然用户或合约都不能直接读取私有变量,但这仍难以保证一定能够保密。在Solidity语言中,使用private似乎是存储秘密值的一个非常简单的方法。然而,这并不会限制任何人读取合约的状态。这是因为合约交易中存储的数据具有可读性。以太坊钱包系统软件开发