yes exactly. typically, when a transaction says “0 Ether”, it means it’s invoking a function on a smart contract but that function isn’t being sent tokens. As an example, if I have a smart contract which simply sets a variable based on parameters passed in, it’s still a contract call which requires a fee, but there is no value transfer.
Interesting. Invoking a function on a smart contract still requires fees. Within the context of a gambling app - i know @dnivrav discovered FCK’s 0-Ether transaction meant settle bet and for FOMO3D, 0-Ether transactions means withdrawal. In both cases, these are contract calls that incur a small txn fee even though there is no Ether being sent.
So, in a gambling context, these smart contracts function as a “bookies”, rendering valuable services for users. In the analog world, bookies settle bets and allow for withdrawals as well. In analog, bookies are people that require fees for their services.
Would it be fair to say on a dapp, smart contracts require txn fees to prevent too many needless function calls? (I’m trying to reason why a small txn fee is required every time you invoke a function - would this be to prevent spamming of some sort?)
This is no different than the fees you pay to send Bitcoin transactions. Remember that invoking a function on a smart contract is a transaction on the blockchain. Miners need to be incentivized to verify and include that transaction in the blockchain. That’s why all transactions require transaction fees. Whether or not Ether is being transferred in that transaction doesn’t matter, it’s still a transaction on the blockchain that must be included in a block by miners
The best option will be TruStory to develop an API which can be used for dapp metric
Developing an API is a lot of work, however we should definitely share tools that help in the research/analysis process as this acts as a great lever for the overall output of the community