Proof Dev Update - 6 October 2017

Uju
Proof of Fintech DevBlog
2 min readOct 6, 2017

This post is part of our regular development updates where we discuss the latest updates and bug fixes on all the products we propose at Proof. The proof token sale starts November 1st. We will therefore bring a lot of focus on the current state of the Token Sale and the Proof token smart-contracts.

Proof Dashboard

No big changes except for a few bug fixes and minor changes described below:

  1. Fixed dividend issuance bug (dividends getting rounded to integer by mistake)
  2. Fixed number of token holders display
  3. Fixed asset transaction history page
  4. Minor display bug fixes and UI/UX changes (links to etherscan/blockchain.info, transaction hashes, etc.)

Token Sale, Proof Token and Smart Contract Development:

One of the challenges of the token sale is the design of the token that has to be compatible with the requirements of the AMP protocol.

An example is the issuance of dividends for Proof token holders. Standard ERC20 tokens can only retrieve the balance at the current block number. If we base the amount of dividends that a token holder receives on the standard ERC20 balanceOf method, we run into the following problem:

  • The token holder withdraws his dividends
  • The token holder moves his tokens to another address
  • The token holder withdraws his dividends again from a second address

To remediate to this problem, we decided to add functionality to allow querying for token balances and total supply at a given block number ( balanceOfAt and totalSupplyAt methods). The new Proof token is heavily inspired by the Minime token originally proposed by the Giveth team.

Here are some of the functionalities of this token :

  • Possibility to snapshot and clone the token at any given block number
  • Possibility to re-deploy an upgraded/modified version of the token
  • The token is managed by a Controller contract that is aware of transfers and approvals and can take certain actions in response to these events. The controller is also upgradeable, modifiable and will be locked when a stable state is reached.

Last week has been mainly about integrating and making sure there are no vulnerabilities coming with these new functionalities.

Other notable updates :

  1. Set up Truffle and Infura deployment environment. This allows for fast contract migrations without having to run a local ethereum node
  2. Set up Mainnet and Ropsten ethereum nodes on AWS

At the time of this writing, I am currently working on validating contracts with constructors arguments on Etherscan. If anybody has managed to do this before, feel free to leave a comment or message as this ends up being quite tricky for me!

And if you haven’t done it yet, consider joining our Telegram group to stay informed and learn more about what is happening at Proof.

--

--