文章详细介绍了如何通过将Rank 1 Constraint System (R1CS)中的见证向量转换为有限域椭圆曲线点,并使用双线性配对来实现零知识证明。文中还讨论了验证步骤的实现细节,并指出了该算法在实际应用中的低效性。
介绍了拉格朗日插值法,通过一组点计算一个经过这些点的多项式,并提供了Python代码示例。
文章介绍了ZK-SNARKs中使用的可信设置机制,详细解释了如何在保密值上计算多项式,并提供了Python代码示例。
本文介绍了如何使用 Remix 在线 IDE 创建和部署 Solidity 智能合约,提供了编写和测试简单合约的步骤。
本文介绍了智能合约之间的相互调用,并通过代码示例展示了如何实现合约间的通信,解释了 call 函数的使用、ABI编码、以及函数返回值的处理。
call
这篇文章详细介绍了如何创建一个ERC20代币,包括代币的基本构造、余额管理、铸造与转移功能的实现,以及如何使用允许机制进行代币转移。文章还引入了小数的概念,并提出了一个清理建议以简化代币转移代码,使其更加整洁。整体内容适合希望深入了解ERC20标准的读者。
文章介绍了Solidity中的require语句用法,强调了良好实践包括提供错误信息,并提供了练习建议。
本文详细介绍了 Solidity 中的算术运算,包括加法、减法、乘法和除法等基本操作,并阐述了 Solidity 不支持浮点数的原因以及溢出和下溢的处理方式。此外,文章还介绍了如何使用未检查块来允许这些操作,适合希望深入理解 Solidity 算术运算的开发者。
文章通过代码示例介绍了Solidity中msg.sender的用法,并展示了如何利用msg.sender实现权限控制。文章还提到tx.origin的安全问题,并演示了如何获取智能合约的地址。
msg.sender
tx.origin
本文介绍了如何为NFT编写单元测试,包括验证铸造后NFT的拥有者、检查合约余额以及确保提款时的以太币余额变化等关键点,并引导读者访问相关资源进行进一步学习。