All Projects → hyperledger-labs → fabric-token-sdk

hyperledger-labs / fabric-token-sdk

Licence: Apache-2.0 license
The Fabric Token SDK is a set of API and services that lets developers create token-based distributed application on Hyperledger Fabric.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to fabric-token-sdk

Fabric Sdk Go
Stars: ✭ 712 (+1030.16%)
Mutual labels:  hyperledger, hyperledger-fabric, distributed-ledger
hyperledger-fabric-sdk-php
Client SDK for Hyperledger Fabric for use in PHP applications
Stars: ✭ 40 (-36.51%)
Mutual labels:  hyperledger, hyperledger-fabric, distributed-ledger
Composer Sample Applications
⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
Stars: ✭ 110 (+74.6%)
Mutual labels:  hyperledger, distributed-ledger
Fabric Gateway Java
Hyperledger Fabric Gateway SDK for Java https://wiki.hyperledger.org/display/fabric
Stars: ✭ 122 (+93.65%)
Mutual labels:  hyperledger, distributed-ledger
Fabric
Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy.
Stars: ✭ 12,911 (+20393.65%)
Mutual labels:  hyperledger, distributed-ledger
Fabric Chaintool
Stars: ✭ 89 (+41.27%)
Mutual labels:  hyperledger, distributed-ledger
Sawtooth Core
Core repository for Sawtooth Distributed Ledger
Stars: ✭ 1,310 (+1979.37%)
Mutual labels:  hyperledger, distributed-ledger
Blockchainbooks.github.io
Blockchain Books
Stars: ✭ 139 (+120.63%)
Mutual labels:  hyperledger, hyperledger-fabric
Composer Tools
⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
Stars: ✭ 75 (+19.05%)
Mutual labels:  hyperledger, distributed-ledger
Iroha
Iroha - A simple, enterprise-grade decentralized ledger
Stars: ✭ 210 (+233.33%)
Mutual labels:  hyperledger, distributed-ledger
Fabric Starter
Starter Application and Deployment Scripts for Hyperledger Fabric
Stars: ✭ 202 (+220.63%)
Mutual labels:  hyperledger, hyperledger-fabric
OpenTender
E-portal for government tender process using Hyperledger (Blockchain) technology.
Stars: ✭ 18 (-71.43%)
Mutual labels:  hyperledger, hyperledger-fabric
Iroha Ios
iOS Swift library for Iroha, a simple distributed ledger
Stars: ✭ 81 (+28.57%)
Mutual labels:  hyperledger, distributed-ledger
Fabric Gm Wiki
Fabric国密项目 wiki
Stars: ✭ 79 (+25.4%)
Mutual labels:  hyperledger, hyperledger-fabric
Iroha Android
Android library for Iroha, a Distributed Ledger Technology (blockchain) platform.
Stars: ✭ 108 (+71.43%)
Mutual labels:  hyperledger, distributed-ledger
Iroha Javascript
JavaScript library for Iroha, a Distributed Ledger Technology (blockchain) platform.
Stars: ✭ 77 (+22.22%)
Mutual labels:  hyperledger, distributed-ledger
Composer
⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
Stars: ✭ 1,676 (+2560.32%)
Mutual labels:  hyperledger, distributed-ledger
Heroes Service
Short tutorial to build a blockchain application in Go with Hyperledger Fabric
Stars: ✭ 248 (+293.65%)
Mutual labels:  hyperledger, hyperledger-fabric
Iroha
Iroha - A simple, decentralized ledger
Stars: ✭ 1,015 (+1511.11%)
Mutual labels:  hyperledger, distributed-ledger
Fabric Baseimage
Stars: ✭ 53 (-15.87%)
Mutual labels:  hyperledger, distributed-ledger

Fabric Token SDK

License Go Report Card Go CodeQL

The Fabric Token SDK is a set of API and services that let developers create token-based distributed application on Hyperledger Fabric.

Disclaimer

Fabric Token SDK has not been audited and is provided as-is, use at your own risk. The project will be subject to rapid changes to complete the open-sourcing process, and the list of features.

Useful Links

  • Documentation: Discover the design principles of the Fabric Token SDK.

  • Samples: A collection of sample applications that demonstrate the use of the Fabric Token SDK.

  • Feedback: Your help is the key to the success of the Fabric Token SDK.

    • Submit your issues here.
    • Found a bug? Need help to fix an issue? You have a great idea for a new feature? Talk to us! You can reach us on Discord in #fabric-token-sdk.
  • Fabric Smart Client: The Token SDK leverages the Fabric Smart Client for transaction orchestration, storing tokens and wallets, and more. Check it out.

Getting started

Clone the code and make sure it is on your $GOPATH. (Important: we assume in this documentation and default configuration that your $GOPATH has a single root-directory!). Sometimes, we use $FTS_PATH to refer to the Fabric Token SDK repository in your filesystem.

export FTS_PATH=$GOPATH/src/github.com/hyperledger-labs/fabric-token-sdk
git clone https://github.com/hyperledger-labs/fabric-token-sdk.git $FTS_PATH

Further information

Fabric Token SDK uses a system called NWO from Fabric Smart Client for its integration tests and samples to programmatically create a fabric network along with the fabric-smart-client nodes. The current version of fabric that is tested can be found in the project Makefile set in the FABRIC_VERSION variable.

In order for a fabric network to be able to be created you need to ensure you have downloaded the appropriate version of the hyperledger fabric binaries from Fabric Releases and unpack the compressed file onto your file system. This will create a directory structure of /bin and /config. You will then need to set the environment variable FAB_BINS to the bin directory. For example if you unpacked the compressed file into /home/name/fabric then you would

export FAB_BINS=/home/name/fabric/bin

Do not store the fabric binaries within your fabric-token-sdk cloned repo as this will cause problems running the samples and integration tests as they will not be able to install chaincode.

Almost all the samples and integration tests require the fabric binaries to be downloaded and the environment variable FAB_BINS set to point to the directory where these binaries are stored. One way to ensure this is to execute the following in the root of the fabric-token-sdk project

make download-fabric
export FAB_BINS=$PWD/../fabric/bin

You can also use this to download a different version of the fabric binaries for example

FABRIC_VERSION=2.4.6 make download-fabric

If you want to provide your own versions of the fabric binaries then just set FAB_BINS to the directory where all the fabric binaries are stored.

Utilities

  • tokengen is an utility for generating Fabric Token-SDK material. It is provided as a means of preconfiguring public parameters, token chaincode, and so. It would normally not be used in the operation of a production network.

Additional Resources

  • (March 17, 2022) Hyperledger in-Depth: Tokens in Hyperledger Fabric: What’s possible today and what’s coming: Tokenizing the physical world is a hot blockchain topic in the industry, especially as it relates to the trade of tokens as a basis of new forms of commerce. In this Hyperledger Foundation member webinar, the IBM Research team describes in this webinar what tokenization use cases are possible with Hyperledger Fabric today, and what enhancements are in the works (aka Fabric Token SDK).

Motivation

Hyperledger Fabric is a permissioned, modular, and extensible open-source DLT platform. Fabric architecture follows a novel execute-order-validate paradigm that supports distributed execution of untrusted code in an untrusted environment. Indeed, Fabric-based distributed applications can be written in any general-purpose programming language.
Fabric does not depend on a native cryptocurrency as it happens for existing blockchain platforms that require “smart-contracts” to be written in domain-specific languages or rely on a cryptocurrency.

Blockchain technologies are accelerating the shifting towards a decentralised economy. Cryptocurrencies are reshaping the financial landscape to the extent that even central banks are now testing the technology to propose what is known as the central bank digital currency. But it is more than this. Real-world assets are being tokenised as fungible or non-fungible assets represented by tokens on a blockchain. Thus enabling business opportunities to extract more value.

Developing token-based applications for Hyperledger Fabric is not easy. Fabric does not provide an out-of-the-box SDK that let developers create tokens that represents any kind of asset. Developers are left on their own and this exposes them to useless duplication of code and security vulnerabilities.

What would happen if the developers could use a Fabric Token SDK that let:

  • Create tokens that represents any kind of asset (baked by a real-world asset or virtual);
  • Choose the privacy level that best fits the use-case without changing the application logic;
  • Orchestrate token transaction in a peer-to-peer fashion;
  • Perform atomic swaps;
  • Audit transactions before they get committed;
  • Interoperate with token systems in other blockchain networks;
  • Add a token layer to existing Fabric distributed application?

Developing Enterprise Token-based distributed applications would become simpler and more secure.

Testing Philosophy

Write tests. Not too many. Mostly Integration

We also believe that when developing new functions running tests is preferable than running the application to verify the code is working as expected.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the Apache 2 License - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].