Return to site

What We've Been Doing

About ten days ago I downloaded the latest version of Geth, Ethereum’s flagship command line client, which per https://github.com/ethereum/go-ethereum/milestones is about 86% complete.  Immediately I compiled our contract and tried to put it on chain.  First I pasted the compiled contract code into Alethzero to get an estimate of how much gas it would cost to put on chain (total gas cost: 1.8M).  Great!  We could finally put our contracts on the live testnet and test in a real environment (as opposed to tests with the Pyethereum tester module).  Or so I thought…

It turns out that while Alethzero does give an estimate of how much it will cost to create a specific contract, it doesn’t estimate how much it will cost to store that contract code on chain.  This creates an interesting conundrum, because it ended up being the case that our contract required significantly more than 1.8 million gas.  

I had planned on refactoring our codebase sometime after the crowdsale to make it more modular and extensible.  We ended up having to do this now (because our contract wouldn’t fit on chain), and for the past ten days I’ve been rewriting our contracts to be more modular and lean.  Chris has been rewriting the tests for those contracts, and Jack refactored consensus into separate contracts as well.  We have now refactored everything except a few parts of the consensus transaction (the parts that involve it accessing data from our other contracts), and that will be done over the next few days.  

In the mean time work on the various UI views has been going well by Scott and Niran, and the UI has been transitioning to a React/Flux build.  Niran is our first core developer who doesn’t work for the Forecast Foundation (the nonprofit behind Augur), and he’s currently working on interfacing the UI with our freshly on chain contracts!  UI progress will likely be stalled a bit until this issue is fixed: https://github.com/ethereum/go-ethereum/issues/710.  Currently we can’t call functions that take a text string as a parameter in Geth due to a parsing error.  

While we can currently run functions in the Pyethereum tester via the command line, it’s just not the same as using a nice UI with charts showing current prediction market share prices, and I can’t wait to show it to you in the coming weeks!