Digix Dev Update — Aug 29 2017
New hires over the past week:
Catherine Xiang: Chinese Community Manager #2
Catherine Xiang joins Canaan Liu as the second Chinese Community Manager, helping out on the WeChat, Weibo and other chinese social media channels. She began studying crypto-currency since the beginning of 2016, and started trading BTC on local bitcoin exchanges ever since. From her previous job at Air Macao as a marketing planner, she has accumulated rich experience in media planning. At Digix, Catherine will carry out a series of promotional campaigns in China over the next 6–9 months, in line with the launch of the platform in China market and geographical expansion of Digix customer base.
Vu: Visiting Developer
Vu will mainly be helping on product development, and be part of the expansion plans of Digix going forward in the second half of 2017.
Ruth Tsang: UI / UX Graphic Designer
Ruth Tsang will be helping out on the marketplace and KYC UI / UX design for the upcoming iteration of Digix 2.0. She comes with a wealth of experience in design, ranging from app design, service design, UI/UX etc. Ruth is also keenly interested in the development of cryptocurrencies and has an eye for designing a usablecrypto platform that we envision.
Lucia Wang: Content Creator
Lucia Ziyuan has been a published writer on obscure subject matters for over 8 years. She got into cryptocurrency when living in Bali where Bitcoin adoption has leapfrogged traditional banking. Prior to contributing content for Digix, she has written about blockchain development for CoinTelegraph.
We will also be conducting 3 Chinese AMAs for the week. One was already addressed yesterday to Digix Private Pledgers of approximately 80 members. One more scheduled for Tuesday at 9pm (GMT+8) on Digix 2 Group, and another one on Thursday at 9pm (GMT+8) on Digix 1 Group.
Swarm Meetup, Airswap Meetup
On a community building front, we hosted Ethereum Foundation Swarm’s developer, Zahoor Mohamed, on 22 August. His Swarm slides can be found here.
Anthony Eufemio CTO
Last week saw continued refactoring work of the Core2 contracts which gets us closer to making our contracts test worthy. We’ve introduced some critical changes of the Core2 contracts, with below particularly noteworthy:
- PoA Participant Caller ID. Since PoA allows for multiple participants (Vendor, Custodian, Auditor) from different organizations with each participant bringing multiple employees, the basic ContractResolver/ResolverClient pattern provided by CACP is not sufficient for this use case. To address this issue, we are introducing the ParticipantRegistry contracts (service, controller, and storage) with Caller ID service that can be called as needed to verify whether a certain account is authorized by a specific participant in the contract.
- PoA Participant Account Management. Added contract functions for CoreAdmin to register new participating organizations, revoke an organization, authorize/revoke an employee user for a given organization.
- DoublyLinkedList Common Interface. Factoring out the user facing contract functions that allow us to iterate through various collection types (used in AssetExplorer, PoA Participant management, SKU management, and others)
This week we are looking to user test the beta version of Digix marketplace. Additionally we’re working on open sourcing the CACP library, StateMachine library, and Solidity Collections library (Doubly Linked list) with full test suites.
Chris Hitchcott (Core Developer)
Last week consisted of a whole bunch of behind the scenes updates relating to spectrum and the smooth integration and iteration of its dapplets (namely the KYC and Marketplace UI). This included refactoring all of the dapplet-specific config into one file for easy branch management, as well as implementing a dynamic themes option in the config file. This allows the user to specify a target folder (such as an NPM module) with standard semantic-ui variables & overrides, which will then be applied to the build. The purpose is to make it painless to manage different visual styles for different spectrum apps, whilst maintaining a single codebase for the CSS of multiple digix properties.
I also updated the KYC approval admin interface, which is now hooked up with the newly deployed marketplace contract system for address approval. With the updated interface, admins can securely publish a transaction from an admin address, which updates the contract that allows users to purchase DGX. The transaction hash is then recorded in the KYC database, and auto-populates the purchase DGX form if users are logged in. This creates a seamlessly automated purchase flow with less user input.
I spent some time on Friday and Monday helping our new intern Vu get up to speed with truffle, the CACP contract codebase, and the delights of the ES6 async/await pattern. He’s using this knowledge to help write unit tests for the CACP contracts.
As I’ve not been working on the visual side of the UI, there aren’t any new screenshots to show off this week, but we are happy to be releasing a deployment of the beta marketplace UI to private DGD pledgers for testing — with the real marketplace contract deployed to kovan!
This week I will be writing a few scripts to automate the replenishing of assets to the DGX marketplace test contract to ensure there is always enough gold to purchase. I also spent time figuring out the best way to manage rebuilds and address resolution. In case a contract is updated and the ABI changes, the UI needs to be redeployed, and/or if the address is updated, it should resolve to the new address without redeploying. Also I will focus on implementing HD wallet support, possibly even Trezor support if I have time.