为什么我们需要Napspec的评论。在开发DAPP的过程中,我们如何使用Natspec的评论?
否则,Natspec只对Ethereum客户端进行评论。
发布于 2017-04-28 09:52:54
Natspec最初用于注释用于自动生成文档的代码,并带有命令行标志,用于将文档作为JSON发出。
Natspec也被Dapple框架很好地用于发出日志。下面是一个例子:
contract Contract {
function send (address addr, uint value) {
//@info user `address addr` has deposit `uint value`eth
[...]
//@warn something happened: "`string message`"
}
}使用dapple test --report运行此代码将产生以下输出:
INFO: user 0x4cfcedde6a51e5f6b47da226e50c2bb8b055ee62 has deposit 200eth
WARN: something happened: "a strange loop"您可以在这里找到完整的文档:https://dapple.readthedocs.io/en/latest/logging/
如果要发出可以通过web3js读取的日志,则需要在约定中定义和发出事件。
pragma solidity ^0.4.0;
contract SimpleAuction {
event HighestBidIncreased(address bidder, uint amount); // Event
function bid() payable {
// ...
HighestBidIncreased(msg.sender, msg.value); // Triggering event
}
}然后可以使用web3.eth.filter读取事件,其中主题应该是事件签名的散列。
https://ethereum.stackexchange.com/questions/15616
复制相似问题