Yesterday, Joey published “Faster Event Resolution“, outlining a new method for reducing the market resolution period from two months to three days without sacrificing security. This does not effect the fees collected by REP holders, as fees aren’t tied to what markets you reported on. The fees will be divided up amongst all active reporters, as always planned.
The Ethereum test net continues to be unstable on the main app. We’re still developing and pushing updates to the Firebase and Private instances, running on our own test net. Our feedback portal is open, and we encourage anybody using the app to submit their thoughts on how to improve the platform.
Both the Augur front-end and back-end received updates this week, as detailed by Jack below:
November 2, 2016
- Added reporting cycle info and progress bar display at the top of the markets listing if you are logged in.
November 1, 2016
- Added support for off-chain orders to the back-end. Off chain trading will allow users to place orders for the low low cost of zero! This means you can place limit orders on the book to buy and sell and update them at no cost and effectively instantly without waiting for blocks. The largest cost in trading on Augur was actually placing orders, not taking them interestingly enough, so this solves that problem. It will make the experience cheaper and faster. Trades taking orders off the book [or in other words filling them] however will still occur on chain until state channels progress further.
The off chain order book can be stored anywhere, so something like Whisper [which has a PoW to mitigate DDoS] or IPFS or even using logs on Ethereum [which is still about 100x cheaper than the original on chain orderbook system].
Off chain order placement allows people to trade more like they’re used to, being able to add, remove, and update orders easily and quickly as opposed to waiting for their transaction to be mined as they have to do now.
- Fixed the logged return value (error code -3) in submitReport on-contract function that is generated when the computed report hash does not match the stored report hash.
- Completed full contract re-upload to the public testnet (Morden).
October 31, 2016
- Added SJCL to keythereum as a fallback implementation of PBKDF2, for cases where a build/browserify error deletes the built-in Node.js’s built-in crypto module’s pbkdf2 and pbkdf2Sync methods. Note: SJCL’s PBKDF2 implementation is significantly slower than the crypto module’s implementation, so keythereum will use the crypto module methods if they are available.
- The transaction display for reports on scalar events now shows the numerical outcome reported.
- After submitting a report, you are now automatically taken to the next available event for reporting (instead of to the associated market detail page). After submitting your final report, you end up at the markets listing.
- Added (actual) gas fees to the commit report transaction display, and properly labeled the estimated gas fees as an estimate.
- Report ethicality is now stored on-chain (with the encrypted report and salt), and is automatically looked up for events the user is required to report on. The ethics field is simply added to submitReportHash as an extra argument. (This way writing it to chain does not require an extra transaction, and reading it back can be done at the same time as looking up the encrypted report and salt, which would be done anyway.)
- Reset the private testing chain (private.augur.net, as well as temporarily augur-dev.firebaseapp.com and local.augur.net) due to minor contract changes.
- Stored reports are now loaded directly from the blockchain, if available.
- Added a new “rootBranch” setting to the front-end config file (src/env.json). If rootBranch is set to false, you start on the most recently created created branch (instead of the root branch 1010101, which is normally the default). This can be useful for reporting testing because the test sequence spawns a new branch when it is run, so it can be used to continue an aborted reporting test.
October 30, 2016
- Market ID is now looked up automatically when getting events that you are required to report on. All reports you are required to fill out are now loaded during the initial markets loading (rather than only after you happen to browse to the page containing the associated markets).
- Updated/fixed the middleware and UI reporting user-test setup functions, and successfully completed a run-thru of the UI reporting setup.
October 29, 2016
- Fully automated to-fixed-point parameter conversions and from-fixed-point return value conversions. Fixed-point parameter names (will) start with “fxp”, and functions with fixed-point return values have “# @return fxp” on the line prior to the function definition. To support these changes, I added fixed-point conversions to the auto-generated API (as well as the associated static API data and back-end API maker script).
- Added result parser method names to the auto-generated API. In combination with automatic fixed-point conversion, nearly all the API will now be dynamically generated and can be updated automatically when new contracts are uploaded. The only remaining manual API endpoints will be a handful of bindings that do a significant amount of pre- or post-request processing: the “big getters”, the primary trading methods (buy, ask, and trade on the develop contracts), and a couple of the reporting methods.
- Full remove-and-resync of the Augur geth public testnet node (eth3.augur.net and ws.augur.net) as well as the separate geth instance on our faucet server.
- Market detail page now displays market creation and ending date and time (instead of just the date). Hovering displays the full UTC timestamp, including milliseconds and day of the week.
- Removed deprecated onConfirmed callbacks from augur.js.
- Normalized market IDs received from get-market-ID-from-event-ID methods getMarket and getMarkets.
October 28, 2016
- Re-organized this technical updates list a bit 🙂
- If you cannot afford to make a trade, the Place Trade button will be disabled. (If you hover over it, a popup will inform you that you do not have enough funds to make the trade.)
- Re-introduced Doorbell.io “Feedback” button in the lower left-hand corner.
- Pointed augur-dev and local.augur.net at our private testing chain (geth JSON RPC endpoints: HTTPS, websockets). The public (Morden) testnet has been almost unusable for the past several weeks due to excessive network congestion. Once things are moving on Morden again, our test instances will switch back. (Note: app.augur.net remains pointed at the Morden testnet for now, although we may redirect that as well soon.)
- There is now a popup displaying the “maximum number of shares” you can buy at a particular limit price (only visible after you have entered a limit price).
- Increased the lifetime of chat messages (Whisper TTL) to 1 week; plan is to decrease this if/when the chatbox starts seeing more use.
October 27, 2016
- Percent fee now always displays as a positive number.
- Finished fixing/updating the integration tests for augur.js.
- Upgraded our private chain geth instance server (Linode) to support an expanded testing group.
- Added extra blocknumber check and catch-up for missed blocks due to dropped websocket connections.
- augur.js unit tests have been fixed/updated and are now working properly.
This log is kept updated daily in your Account tab under “Important Information”.
Check back next week for our current progress!
– The Augur Team