Kleros Development Update - July
In the first Kleros pilot, we want to test the effectiveness of our protocol in building a curated list of doges. Let's take a look at the technologies used to build this dapp.
There are three different bundles to build this dapp:
- The user interface
- The smart contract permission list
- The smart contract of the decentralised court.
The Doge List Dapp
User interface
Enrique created the dogelist interface. It’s a fork from the boilerplate dapper (https://github.com/kleros/dapper). This stack used: react/redux/redux-saga/web3.js.
To store the pictures, he opted to use AWS serverless instance to facilitate the administration and to avoid maintaining the code of a backend. Sounds like a good compromise compared to IPFS/swarm for a pilot and the user can check the integrity of the picture with the hash, stored in the smart contract.
User smart contract side: permission list
As a reminder, to build a dapp that can connect to Kleros, it follows the Arbitration Standard proposed as Ethereum Request for Comment (ERC 792) by Clément.
For a contract to be arbitrated, it should extend the Arbitrable interface https://github.com/kleros/kleros-interaction/blob/master/contracts/standard/arbitration/Arbitrable.sol .
With this standard, we must implement the method excutingRuling
. This function will redistribute the stake in function the juror ruling. Here is the implementation https://github.com/kleros/kleros-interaction/blob/master/contracts/standard/permission/ArbitrablePermissionList.sol.
Juror smart contract side: Kleros court
The arbitrable permissionList smart contract can be connect with an Arbitrator contract customised for this pilot.
Sam set up and published the smart contract on the mainnet with these parameters:
governor: 0x334f12afb7d8740868be04719639616533075234
rng: 0x1738b62e403090666687243e758b1c29edffc90e
arbitrationFeePerJuror: 0.01 ETH
defaultNumberJuror: 3
timePerPeriod: `24h for activation of tokens, 36h for vote, 24h for appeal and 1h for the repartition of the tokens`
maxAppeals: 5
Other Contributors
- Eduardo created a multiple arbitrable payment smart contract to avoid to deploy a new smart contract
- Nicolas is working to implement this multiple arbitrable payment smart contract and a new interface for the escrow prototype.
- Sam and Clément lead a standard for the the meta-evidence (like a standard to save the contract between a client and a freelancer) and the evidences of a possible disputes.
- Daniel Babbev and Ferit Tunçer participated in the reviews of the some smart contracts pilot, added functional tests with Truffle and implemented some smart contract to try to attack Kleros.
Join Kleros!
Join the community chat on Telegram.
Visit our website.
Follow us on Twitter.
Join our Slack for developer conversations.
Contribute on Github.