cckit

module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2024 License: Apache-2.0

README

Hyperledger Fabric chaincode kit (CCKit)

Go Report Card Coverage Status

Overview

A smart contract is code, invoked by a client application external to the blockchain network – that manages access and modifications to a set of key-value pairs in the World State. In Hyperledger Fabric, smart contracts are referred to as chaincode.

CCKit is a programming toolkit for

  • developing and testing Hyperledger Fabric golang chaincodes
  • generating access layer for query / invoke chaincodes and chaincode event streaming

It enhances the development experience while providing developers components for creating more readable and secure smart contracts. Getting started

CCKit features
Extensions
Examples

There are several chaincode "official" examples available:

and others

Main problems with existing examples are:

  • Working with chaincode state at very low level
  • Lots of code duplication (JSON marshalling / unmarshalling, validation, access control, etc)
  • Chaincode methods routing appeared only in HLF 1.4 and only in Node.Js chaincode
  • Uncompleted testing tools (MockStub)

Examples based on CCKit

Publications with usage examples

Installation

CCKit requires Go 1.16+

Standalone

git clone git@github.com:hyperledger-labs/cckit.git

go mod vendor

As dependency

go get github.com/hyperledger-labs/cckit

Directories

Path Synopsis
examples
cars
Simple CRUD chaincode for store information about cars
Simple CRUD chaincode for store information about cars
cpaper_asservice
Package cpaper_asservice contains
Package cpaper_asservice contains
cpaper_proxy
Package cpaper_proxy contains
Package cpaper_proxy contains
erc20_utxo/service/allowance
Package allowance contains
Package allowance contains
erc20_utxo/service/config
Package config contains
Package config contains
fabcar
Package fabcar contains
Package fabcar contains
private_cars
Simple CRUD chaincode for store information about cars
Simple CRUD chaincode for store information about cars
extensions
account
Package account contains
Package account contains
crosscc
Package crosscc contains
Package crosscc contains
debug
Package debug contains
Package debug contains
owner
Package owner contains
Package owner contains
pinger
Package pinger contains
Package pinger contains
token
Package token contains
Package token contains
Package gateway is a reverse proxy.
Package gateway is a reverse proxy.
service
Deprecated: use github.com/hyperledger-labs/cckit/gateway package
Deprecated: use github.com/hyperledger-labs/cckit/gateway package
Package access contains structs for storing chaincode access control information
Package access contains structs for storing chaincode access control information
Package router provides base router for using in chaincode Invoke function
Package router provides base router for using in chaincode Invoke function
Package serialize for transforming between json serialized []byte and go structs
Package serialize for transforming between json serialized []byte and go structs

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL