You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.5 KiB

6 years ago
6 years ago
6 years ago
6 years ago
  1. # reciproka
  2. Decentralized mutual credit system based on Ethereum smart contracts.
  3. **For the moment this is an implementation of a Proof of Concept.**
  4. ![reciprokaWallet](https://raw.githubusercontent.com/arnaucode/reciproka/master/doc/r1.png "reciprokaWallet")
  5. ![reciprokaWallet](https://raw.githubusercontent.com/arnaucode/reciproka/master/doc/r2.png "reciprokaWallet")
  6. ## Components
  7. - Smart contracts
  8. - Ethereum Solidity
  9. - Frontend wallet app
  10. - Reactjs
  11. - Reputation Authority
  12. - Go lang
  13. ## Documentation
  14. Each 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).
  15. ### Transaction action:
  16. - Step 0: Initial scenario
  17. - Balances
  18. - u1: 0
  19. - u2: 0
  20. - Step 1: u1 sends 10 credits to u2
  21. - Balances
  22. - u1: -10
  23. - u2: 10
  24. ![reciproka-diagram01](https://raw.githubusercontent.com/arnaucode/reciproka/master/doc/reciproka-diagram01.png "reciproka-diagram01")
  25. ### Account
  26. Account data structure:
  27. ```solidity
  28. struct Account {
  29. address ID;
  30. int64 Balance;
  31. bytes32[] History;
  32. }
  33. ```
  34. ### Reputation Authority
  35. Handles a public list of accounts that have been verified, in order to give some kind of trusted certification to an user's account.
  36. Can 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.