问题标签 [smartcontracts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ethereum - 观察以太坊合约状态
我希望能够查看以太坊合约的状态/存储,并知道例如何时满足某些条件。例如,一个账户值大于 200,另一张地图有 30 多个键,等等。
我可以为此使用什么?是否有可用于此目的的 SaaS 平台?
编辑:我忘了提到我不是合同的所有者。我只是想看别人的合同。
blockchain - 有没有办法将智能合约的执行仅限于我的 dapp?
我的 dapp 将从客户端获取一些数据并将其发送给合约。我想避免欺骗它。
blockchain - 智能合约如何与区块链相关
我对区块链很陌生。我试图弄清楚如何在我的特定场景中使用区块链,同时尝试了解它并提出一些非常基本的问题。
业务场景 B 从 A 购买产品 P。A 对在条件 C1 下交付的每单位 P 收取 $x,对在条件 C2 下交付的每单位 P 收取 $y。B 在计费周期结束时向 A 付款。
问题
- “A 向 B 交付 P”——这可以被视为交易吗?
- 我的智能合约可能会被定义为“If C1 then rate=$x ”。A 或 B 可以将事件(“A 向 B 交付 P”)传递给智能合约,以检查条件并确定动作。在这种情况下,那个“事件”是否相当于一个块?什么将存储在区块链中?
- 如何验证这个“块”?在这种情况下,事件将有参数来检查条件,但是由于事件是由 A 或 B(不受信任的方)提交的,矿工如何验证事件参数没有被篡改?
- 如果 A 需要生成结算周期结束发票,A 是否应该从区块链中读取它?(展示数据未被篡改)
提前致谢。
问候, Ritwik
solidity - 良好的solidity智能合约教程、视频、示例
我正在为solidity 高级智能合约开发免费资源或书籍寻找良好的资源。
场景如 - 众筹 - 保险业 - 银行
我对 Open Zepplin 进行了一些研究,它是智能合约的一个很好的资源,但没有一个很好的解释。
来自社区的任何与资源相关的帮助将不胜感激。
solidity - Truffle 控制台将 ETH 发送到 smartContract
我想向智能合约地址发送一些 ETH
但我总是得到
我正在使用最新版本的松露,所以版本 4.x
同样的问题
更新
ethereum - “=>”在solidity中是什么意思?
例如,这是什么意思?我认为这只是 hashMap 的语法,但不确定。
blockchain - 如何使用它来确保匿名 ERC20 代币交易?
伙计们。我听说了在以太坊拜占庭硬分叉上发布的 ZK(零知识)证明。你能告诉我:我如何使用它来确保匿名 ERC20 代币交易。我可以在基于 Solidity 的以太坊智能合约中使用它还是需要等待完全实施?
谢谢你的提前!:)
smartcontracts - 使用智能合约自动处理公司内部系统?
我对区块链和智能合约非常陌生。我已经考虑过智能合约如何帮助内部业务流程。我的考虑如下:让我们假设智能合约中的一个条件没有得到满足,因此启动了一个预定义的公司内部流程。
问:这个运行在区块链上的智能合约现在是否有可能在公司内部系统(例如 SAP)上自动执行流程?例如,投诉的内部流程?
非常感谢您的回答。
对不起我的英语不好
此致
bytecode - 以太坊字节码 JUMP 和 JUMPDEST 是如何解决的?
我一直在寻找有关以太坊如何处理跳转和跳转目的地的信息。从各种博客和黄皮书我发现如下:
所采用的操作数JUMP
和所采用的两个操作数中的第一个是设置为JUMPI
的值PC
(假设第一个堆栈值!= 0 在的情况下JUMPI
)。
但是,查看此合约的创建代码(作为操作码),前几个操作码/值是:
PUSH1 0x60
PUSH1 0x40
MSTORE
CALLDATASIZE
ISZERO
PUSH2 0x00f8
JUMPI
据我了解,这意味着如果将值推入堆栈ISZERO
!= 0 然后PC
将更改为0x00f8
asJUMPI
从堆栈中获取两个,检查第二个是否为 0,如果不是,则设置PC
为其第一个操作数的值。
我遇到的问题是0x00f8
十进制是248
. 合同中的第 248 位似乎是MSTORE
而不是 a JUMPDEST
,这将导致合同无法执行,因为JUMP*
只能指向有效的JUMPDEST
.
大概合同不会故意跳转到无效的目的地?
如果有人能解释如何解决跳转和跳转目的地,我将不胜感激。
java - 使用 web3j 检查 ERC20 合约中的余额
我想使用 web3j 检查用户的几个符合 ERC20 的令牌的余额。
是否有一种通用的方法(每个 ERC20 合同通用)或者我应该为每个合同获取 ABI 并从中生成 java 类?