Digix Core Dev Update — 14 Feb 2017

Anthony Eufemio (Digix CTO)

Development work ongoing, report will be detailed in a separate blog post tomorrow.

Chris Hitchcott (Digix Core Dev)
This week we completed the migration to Truffle 3.0 for all Digix solidity libraries and performed upgrades to the tooling to ensure a streamlined dev environment.

I created a library that injects some useful helpers into the truffle `console` environment, modified `truffle-contract` to work with infura for deployments (previously they would fail due to the use of filters, so I created a custom deployment script that avoids using them), and `@digix/truffle-lightwallet-proivder` now has a `prefund` option that automatically funds the eth-lightwallet accounts with wei from the coinbase of the connected node, which simplifies the process of running tests in TestRPC. Contest was also updated to add `timeout` options (for longer-lasting test cases), and now comes with tempo as standard (`wait`), and contract tests were updated to implement it. An internal wiki was populated, centrally documenting the entire toolset.

We were admitted to the Microsoft Bizspark program, who’ve kindly provided us usage and support of their Azure platform. I did some node deployments for use with Spectrum; deploying TestRPC node (for ultra-fast live demos) and private ropsten/mainnet deploys for advanced debugging (which infura is currently lacking).

Spectrum development continues and watertight best practices for the complex data store have been identified and that will be the focus of this week’s sprint. Completing this integration (which was set back due to DGX 2.0 tooling upgrades) will allow for the addition of more complex account types and a standardised API for interacting with dapplets.

Weekly Commit Report

# Project github.com:DigixGlobal/contest
- b7dec7f — [feature] implement `wait`
- 883b128 — [feature] add `timeout` setting

# Project github.com:DigixGlobal/core2-storage-library-contracts
- babbf78 — [feature] convert tests to CACP
- 4351eec — [maint] add ContractResolver deployment
- 2b93814 — [maint] update contest
- fa12f13 — [maint] sync config with solidity-core-libraries
- ab8fec2 — Merge branch ‘system-refactor’ of github.com:DigixGlobal/core2-storage-library-contracts into system-refactor
- 326fa74 — [maint] sync up to boilerplate standard

# Project github.com:DigixGlobal/solidity-boilerplate
- f28c637 — [maint] update readme
- aa406b7 — [maint] use `networks — clean`
- e771dba — [maint] migrate to truffle 3.0 & various dependancy updates

# Project github.com:DigixGlobal/solidity-core-libraries
- 70d2829 — [maint] update deps (fixes console deployed() issue)
- 464cb60 — Merge branch ‘master’ of github.com:DigixGlobal/solidity-core-libraries
- d2dafb5 — [maint] update to use contest with timeout feature
- 9a3d963 — [maint] update readme
- f3c184f — [maint], update and document `npm run` commands
- 0c128c4 — [maint] bump version
- 92f5c33 — [maint] gitignore env.sh

# Project github.com:DigixGlobal/truffle-lightwallet-provider
- 1896b8b — [bugfix] fix `getAccounts` by having lightwallet added before rpcProvider…
- 26b8e43 — [maint] v0.0.7
- 1233a38 — [maint] document `prefund`
- 932664e — [feature] `prefund` option
- 82afc9a — [feature] ensure all RPC errors are properly logged
- 9e9e282 — [maint] remove superfluous `send` (not supported by web3ProviderEngine)
- d038928 — [bugfix] don’t initialize unless send/sendAsync method is called
- ec9dd7f — [bugfix] don’t log debug for first request `_fetchLatestBlock`
- 1faa7aa — [feature] add rpcUrl to debug
- 0a43591 — [feature] better error messages, drop unused subproviders
- 30e72f5 — [bugfix] use `engine.start()` to to ensure polling is working
- 977f21e — [maint] update readme w/ sigmate reference

# Project github.com:DigixGlobal/truffle-contract
- 29d8151 — Merge branch ‘fix-deployed-in-console’ into digix
- ac6e40f — [bugfix] fix `deployed()` ‘auto-resolve’ in console
- c9b82fb — [bugfix] reject promise rather than throw in `new`
- 3b432ea — [bugfix] use a custom `new` method for deployments for infura compatability

# Project github.com:DigixGlobal/doxity
- 52989fd — [maint] add notice about truffle integration

# Project github.com:DigixGlobal/truffle-console-helpers
- 2bd9cc5 — [feature] initial commit; `tempo`

# Project github.com:DigixGlobal/digix.io-v2
- ff6e762 — [maint] update address