arnaucube
arnaucube/reciprokaPublic Self-hosted repository
reciproka/README.md
README.mdRaw
 1# reciproka
 2Decentralized mutual credit system based on Ethereum smart contracts.
 3
 4**For the moment this is an implementation of a Proof of Concept.**
 5
 6![reciprokaWallet](https://raw.githubusercontent.com/arnaucode/reciproka/master/r1.png "reciprokaWallet")
 7![reciprokaWallet](https://raw.githubusercontent.com/arnaucode/reciproka/master/r2.png "reciprokaWallet")
 8
 9## Components
10- Smart contracts
11  - Ethereum Solidity
12- Frontend wallet app
13  - Reactjs
14- Reputation Authority
15  - Go lang
16
17## Documentation
18
19Each user connects to `reciproka` throught the frontend wallet app. Once the app is opened, it creates a new ethereum private key (if the user already have one, loads it).
20
21
22### Transaction action:
23- Step 0: Initial scenario
24  - Balances
25    - u1: 0
26    - u2: 0
27- Step 1: u1 sends 10 credits to u2
28  - Balances
29    - u1: -10
30    - u2: 10
31
32
33### Account
34Account data structure:
35```solidity
36struct Account {
37  address ID;
38  int64 Balance;
39  bytes32[] History;
40}
41```
42
43
44
45### Reputation Authority
46Handles a public list of accounts that have been verified, in order to give some kind of trusted certification to an user's account.
47Can be runned by a collective, so for example, a group of people that work together in a project, can run a Reputation Authority, that will 'validate' trusted user's accounts.