1. 02 Oct, 2016 1 commit
    • Srinivasan Muralidharan's avatar
      FAB-437 bare-minimum, end to end skeleton using solo · d632e74a
      Srinivasan Muralidharan authored
      
      
      The main purpose of this checking
        . show commit followed by simulation in action
        . users can get a feel for the flow of the protocol across
          the different legs of the end-end path
        . identify key areas for attention (esp. grep for
          "!!IMPORTANT!!")
      
      "deploy and "invoke" Chaincode commands from CLI will also
      convert a successful proposal response into a transaction
      and send it to the Orderer (if configured in core.yaml).
      
      "query" is removed from CLI. Invoke can also return values
      now in ProposalResponse.Response.Payload.
      
      REST calls should not be affected and should work with
      old ledger.
      
      See core.yaml for default orderer setup.
      
      This also introduces a stop-gap "committer" whose only
      task is to commit blocks from the orderer.
      
      To test :
      1. Terminal 1 - run the "solo" orderer
         cd fabric/orderer
         go build
         ./orderer
      
      2. Terminal 2 - run the peer
         peer node start 1>/tmp/peer.out 2>&1
      
      3. Terminal 3 - deploy and invoke take usual params
         peer chaincode deploy ... 1>/tmp/out 2>&1
         peer chaincode invoke ... 1>/tmp/out 2>&1
      
      /tmp/peer.out and /tmp/out will contain tell tale signs
      of the round trip in action.
      
      Change-Id: Ic1aa31993fc57ce145c39967d4d682fd2dc5704b
      Signed-off-by: default avatarSrinivasan Muralidharan <muralisr@us.ibm.com>
      d632e74a
  2. 30 Sep, 2016 1 commit
  3. 29 Sep, 2016 2 commits
  4. 28 Sep, 2016 1 commit
    • Srinivasan Muralidharan's avatar
      FAB-466 integrate ledgernext with chaincode framework · 909b517a
      Srinivasan Muralidharan authored
      
      
      The ledgernext and kvledger packages provide APIs to simulate
      transactions by collecting read-write sets from invokes of
      chaincodes. This change set integrates this for the Endorser
      flows.  The main purpose of this code is to enable read write
      sets to be propagated so end to end flow ending in a commit to
      the ledger can be tested.
      
      The chaincode unit tests continue to use the old ledger. This
      allows us to (1) incrementally integrate ledger and (2) show
      that the two packages can coexist from a build and runtime
      point of view.
      
      It is worth noting that the file kv_ledgers.go hosts a temporary
      container for ledgers. This simple approach is expected to be
      revised when (sub)ledgers are implemented.
      
      Change-Id: I6e0bf4b9795b83d2ae869244b212c02ef9b5214a
      Signed-off-by: default avatarSrinivasan Muralidharan <muralisr@us.ibm.com>
      909b517a
  5. 27 Sep, 2016 3 commits
  6. 26 Sep, 2016 2 commits
  7. 25 Sep, 2016 1 commit
  8. 24 Sep, 2016 1 commit
  9. 23 Sep, 2016 2 commits
  10. 22 Sep, 2016 1 commit
    • Srinivasan Muralidharan's avatar
      skeleton Endorser implemention with a CLI driver · ec50ad17
      Srinivasan Muralidharan authored
      This patch is for https://jira.hyperledger.org/browse/FAB-181
      
      ,
      FAB-182.
      
      The patch is around endorser.go which implements the basic
      Endorser service. The "peer deploy ..." and "peer invoke .."
      CLI driver commands have been modified to redirected to use
      endorser.ProcessProposal instead of the original "devops"
      calls.
      
      The deploy, invoke (and query) CLI calls are unchanged in
      non-dev mode from user point of view - but for one difference.
      The response is a ProposalResponse.
      
      In dev mode (ie, when peer is started with --peer-chaincodedev)
      the deploy command would need to set "CORE_CHAINCODE_MODE=dev"
      in the "peer chaincode deploy ..." command. This is because, the
      command now computes the chaincode code just like the SDK as
      opposed to leaving it to be done by devops in the peer. Example
      CORE_CHAINCODE_MODE=dev CORE_LOGGING_LEVEL=debug ./peer chaincode
      deploy -n mycc -c '{"Args":["init","a","100","b","200"]}'
      
      Change-Id: Ie6e44cef880bfcbeb7619f135566a7dce9dcdbc2
      Signed-off-by: default avatarSrinivasan Muralidharan <muralisr@us.ibm.com>
      ec50ad17
  11. 20 Sep, 2016 1 commit
    • manish's avatar
      Disable WAL for block storage DB · 0df6a8d1
      manish authored
      
      
      (Rocks) DB WAL adds overheads while using the DB for saving checkpoints
      for block storage. Avoiding writing to WAL translates the write workload
      (appending blocks to the blockfile) into a sequential disk writes.
      
      This commit changes the way checkpoints are saved - checkpoints are
      written to DB as before, however since WAL is disabled, the checkpoint
      stays in-memory only. The in-memory checkpoint is flushed explicitly to
      disk (via DB flush) at the time of new block file creation. The in-memory
      checkpoint would implicitly also be flushed to memory at the time of DB
      shutdown. However, if a crash takes place, the checkpoint available in the
      DB would be behind the actual block file status. In order to handle this
      crash scenario, this commit also adds code to perform a scan of the block
      file beyond the last saved checkpoint and update the checkpoint.
      
      Change-Id: Ie88646b225abaa50b595833f5e7ed8d4facae920
      Signed-off-by: default avatarmanish <manish.sethi@gmail.com>
      0df6a8d1
  12. 18 Sep, 2016 1 commit
  13. 17 Sep, 2016 4 commits
  14. 15 Sep, 2016 2 commits
    • manish's avatar
      WIP - Initial commit for ledger code. · 7439cd35
      manish authored
      
      
      This includes structure of the new code conforming to new architecture
      and a basic working implementation.
      
      Change-Id: I885e122c0001ff82301cd1448a7ddad80db931b0
      Signed-off-by: default avatarmanish <manish.sethi@gmail.com>
      7439cd35
    • Jason Yellick's avatar
      Add generic blackbox rawledger tests · be768c7c
      Jason Yellick authored
      
      
      This changeset adds tests which are generally applicable to
      rawledger implementations.  It enables these tests for both
      ramledger and for fileledger.
      
      You may notice that these tests are substantially similar to
      the tests in file ledger and were derived from there,
      substituting black box equivalents for the implementation
      details of fileledger.
      
      This new suite of tests also caught a bug in the ramledger
      implementation which could result in a crash when the
      specified block was exactly the block number of the oldest
      block in storage.  A fix is included.
      
      Change-Id: I76813c8ba7853d47fa6ffa89b16ffc66b8ddfd5f
      Signed-off-by: default avatarJason Yellick <jyellick@us.ibm.com>
      be768c7c
  15. 14 Sep, 2016 4 commits
  16. 12 Sep, 2016 1 commit
  17. 08 Sep, 2016 1 commit
  18. 03 Sep, 2016 1 commit
  19. 02 Sep, 2016 1 commit
  20. 01 Sep, 2016 1 commit
  21. 31 Aug, 2016 4 commits
  22. 30 Aug, 2016 4 commits