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/doc/r1.png "reciprokaWallet")
 7![reciprokaWallet](https://raw.githubusercontent.com/arnaucode/reciproka/master/doc/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. The app can be loaded from `IPFS`. 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![reciproka-diagram01](https://raw.githubusercontent.com/arnaucode/reciproka/master/doc/reciproka-diagram01.png "reciproka-diagram01")
34
35### Account
36Account data structure:
37```solidity
38struct Account {
39  address ID;
40  int64 Balance;
41  bytes32[] History;
42}
43```
44
45
46
47### Reputation Authority
48Handles a public list of accounts that have been verified, in order to give some kind of trusted certification to an user's account.
49Can 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.