Skip to content

andycarv03/marbles

Repository files navigation

#OBC - Node.js "SimpleStuff" Demo

  • examples of using the sdk are in app.js near the bottom

##Doc Links

  • David's Notes Readme - here
  • SDK Doc - utils/obc-js
  • Tutorial for SimpleStuff App 1 - here
  • Tutorial for SimpleStuff App 2 - coming

##Projects Contents

  1. sdk, obc-js.js
  2. chaincode investigator http://localhost:3000/cci
  3. obc demo aka SimpelStuff App1 http://localhost:3000

##Phase 1 Goals

  • User can create a marble and store it in the chaincode state
  • User can read all marbles in the chaincode state
  • User can transfer marble to another user
  • See block stats
  • User can delete a marble

##Phase 2 Goals

  • New block events trigger a marble page update
  • Can trade/delete multiple marbles at once
  • User's can advertise to trade their marbles (ie willing to trade large red for large blue/yellow/green)

##Phase 3 Goals

  • User identity and autentication (crypto signing of transactions)
  • Transacation privacy

##ChainCode / SDK To Do:

  • Write("name", "val", cb);
  • ReadNames(cb)
  • init_marble(json);
  • check permissions of requesting user in cc
  • verify user identityf, ie public private key stuff
  • website to test cc, real basic
  • demo app website
  • make sdk proper npm module
  • change downloading zip to git clone
  • custom custom function on UI
  • load json in UI
  • structured error reponse
  • mocha test for sdk
  • browsify sdk and tie cci into it (not sure if i want to)
  • follow redirect on zip download...
  • auto deploy, correctly!
  • get delete to update marbleIndex
  • unzip may have project name as root... need to go down 1 lvl
  • sdk, check inputs on load if they dne, error
  • [o] poll after chain deploy for cc up in peer [can't, future auth will prevent]
  • add block event to sdk
  • write tutorial on phase 1

###ChainCode Notes:

  1. Due to performance issues, we probably want resuable chaincode contracts. ie 1 chaincode describe/constrains multiple people assets. ie ie many people and cars exist in 1 chaincode
  2. Any functionality that parties need to agree on should be in the chaincode. ie do not move it to the application b/c this then the moving parts beomce unenforceable.
  3. Chaincode should keep track of all key's that get their state saved. Have init clear these

###Junk Notes:

About

IBM Blockchain - Marbles Demo

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 71.3%
  • Go 10.6%
  • CSS 10.4%
  • HTML 7.7%