I’m trying to learn more about the civil community and reproduce the results that we’re reading about (e.g. results of the votes) directly from the blockchain. (That’s the whole point of blockchains, right!?!)
I’ve asked for some help but it hasn’t been at the level I needed. So after some more experimentation, I’ll ask some more here. I originally posted this in slack, but this seems like a better place now.
One of my goals is to independently calculate the results of the first challenge, and reproduce the report that there were 15.00 CVL voting for “accept” and 684998.97 CVL to “reject”.
Can anyone point to data to support that on a site like etherscan?
I’ve installed the web3.py library so I have more flexibility and can automate such things via Python.
It seems to work in that I can run e.g. cvl.functions.name().call() and get ‘CivilTCR’ (identifying the underlying technology as a Token curated registry).
But I get errors when I ask other things that I would assume to work, like cvl.functions.totalSupply().call():
web3.exceptions.BadFunctionCallOutput: Could not decode contract function call totalSupply return data b’’ for output_types [‘uint256’]
Looking the error up online leads to a post (https://github.com/ethereum/web3.py/issues/518) that speculates that there’s something unusual about the contract.
Is there anyone here that can point to similar independent work to clarify how the civil blockchain can be interpreted, or help me figure out what I’m doing wrong?
Or perhaps point to the exact code (assuming it is open-source and online, e.g. somewhere at https://github.com/joincivil/Civil) which calculates results of votes?