SlideShare a Scribd company logo
Introduction to Corda Token SDK
Corda Developer Bootcamp:  Tokens
Why tokens?
Security
• No Sensitive Data – Enhanced security as Sensitive data replaced with tokens
• Simplified Compliance – Reduced compliance scope.
Increased liquidity
• Improved Liquidity – assets that are currently locked up in illiquid form can be readily traded.
Increased market access
• Accessibility – fractional ownership brings in new set of owners.
• Fund raising – ISO gives ability for fund raising direct to funders.
New financial products
• Ability to create net new financial products
Corda TokenSDK
TokenSDK provides a standard library to create and manage tokens in Corda.
Create Issue Move Redeem
TokenSDK: CorDapps
token-contracts
token-workflows
token-money
token-selection
(Experimental)
Token SDK: TokenType
Fixed Token Evolvable Token
Token SDK: TokenType
Creating Tokens : Fixed Token
TokenType myFixedToken = new TokenType(“PeterCoin”, 4);
open class TokenType(
open val tokenIdentifier: String,
open val fractionDigits: Int
)
Example: FiatCurrency Class in TokenSDK
Creating Tokens : Evolvable Token
public class MyEvolvableToken extends EvolvableTokenType {
private final UniqueIdentifier linearId; <- EvolvableTokenType State is a LinearState
private final List<Party> maintainers; <- Maintainers of the token
private final int fractionDigits; <- The number of fractional digits allowable for this token
type.
//Build a wrapper for the tokenType state
TransactionState<MyEvolvableToken> transactionState = new TransactionState<>(myEvolvableToken, notary);
//Create the token via CreateEvolvableTokens Flow.
subFlow(new CreateEvolvableTokens(transactionState));
Issuing Tokens
==
Non-Fungible Token Fungible Token
+
Issuing Tokens
Issuing Tokens
IssuedTokenType
Holder: Party
NonFungibleToken
IssuedTokenType
Amount
Holder: Party
FungibleToken
Issuer : Party
TokenType
IssuedTokenType
Issuing Tokens
IssuedTokenType issuedHouseToken = new IssuedTokenType(issuer, houseState.toPointer(HouseState.class));
/* Create an instance of the non-fungible house token with the owner as the token holder. The last paramter is a
hash of the jar containing the TokenType, use the helper function to fetch it. */
NonFungibleToken houseToken =
new NonFungibleToken(issuedHouseToken, owner,
UniqueIdentifier.Companion.fromString(UUID.randomUUID().toString()),
TransactionUtilitiesKt.getAttachmentIdForGenericParam(houseState.toPointer(HouseState.class)));
/* Issue the house token by calling the IssueTokens flow provided with the TokenSDK */
subFlow(new IssueTokens(Arrays.asList(houseToken)));
Move & Redeem Tokens
MoveFungibleTokens
MoveFungibleTokensHandler
MoveNonFungibleTokens
MoveNonFungibleTokensHandler
RedeemFungibleTokens
RedeemFungibleTokensHandler
RedeemNonFungibleTokens
RedeemNonFungibleTokensHandler
Update Evolvable Token
UpdateEvolvableToken
UpdateEvolvableTokenHandler
Thank You
Learn | Develop | Connect

More Related Content

PPTX
Corda Developer Bootcamp: Tokens
 
PPTX
Introduction to Corda Blockchain for Developers
 
PPTX
Supporting trade finance with letters of credit on corda
 
PPTX
Corda Developer Bootcamp: Accounts
 
PDF
R3 Corda Simple Tutorial
PPTX
DevDay: Getting Started with Tokens and Accounts, R3
 
PPTX
Corda Developer Bootcamp: Introduction to Corda
 
PDF
Cryptographic Agility in Corda
Corda Developer Bootcamp: Tokens
 
Introduction to Corda Blockchain for Developers
 
Supporting trade finance with letters of credit on corda
 
Corda Developer Bootcamp: Accounts
 
R3 Corda Simple Tutorial
DevDay: Getting Started with Tokens and Accounts, R3
 
Corda Developer Bootcamp: Introduction to Corda
 
Cryptographic Agility in Corda

What's hot (20)

PDF
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
 
PPTX
DevDay: Node Analytics with Python, Chainhaus
 
PPTX
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
 
PPTX
DevDay: Mike Hearn Keynote, R3
 
PDF
Algorand Technical Workshop 2021
PDF
Algorand Presentation
PDF
Bitmark and Hyperledger Workshop: the Digital Assets and Property
PDF
DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...
 
PPTX
Hyperledger community update 20180528
PDF
Introduction of Hyperledger Fabric & Composer
PPTX
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
PDF
Building a dApp on Tezos
PDF
StarkNet JS
PDF
Encode Club Hackathon
PDF
Hong Kong Hyperledger Meetup January 2018
PDF
Technical Introduction to Hyperledger Fabric v1.0
PDF
Hyperledger fabric 3
PDF
Hyperledger Fabric & Composer
PPTX
Diving into Algorand - Overview, Key Metrics & Future Possibilities
PDF
Building with Algorand 2.0, everything you need to know
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
 
DevDay: Node Analytics with Python, Chainhaus
 
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
 
DevDay: Mike Hearn Keynote, R3
 
Algorand Technical Workshop 2021
Algorand Presentation
Bitmark and Hyperledger Workshop: the Digital Assets and Property
DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...
 
Hyperledger community update 20180528
Introduction of Hyperledger Fabric & Composer
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Building a dApp on Tezos
StarkNet JS
Encode Club Hackathon
Hong Kong Hyperledger Meetup January 2018
Technical Introduction to Hyperledger Fabric v1.0
Hyperledger fabric 3
Hyperledger Fabric & Composer
Diving into Algorand - Overview, Key Metrics & Future Possibilities
Building with Algorand 2.0, everything you need to know
Ad

Similar to Corda Developer Bootcamp: Tokens (10)

PDF
Digital Assets: Tokens & Coins - Lecture for TUM Blockchain Program (Technica...
PPTX
Tokens 10.pptx
PPTX
Create your own token
PDF
Token Systems, Payment Channels, and Corporate Currencies
PPTX
Describe how corda works
PPTX
What are the 9 types of crypto tokens.pptx
PPTX
What are the 9 types of crypto tokens.pptx
PDF
Corda Blockchain Development Company
PDF
Digital Assets and the Future of Capital Markets
 
PDF
Ethereum-Cryptocurrency (All about Ethereum)
Digital Assets: Tokens & Coins - Lecture for TUM Blockchain Program (Technica...
Tokens 10.pptx
Create your own token
Token Systems, Payment Channels, and Corporate Currencies
Describe how corda works
What are the 9 types of crypto tokens.pptx
What are the 9 types of crypto tokens.pptx
Corda Blockchain Development Company
Digital Assets and the Future of Capital Markets
 
Ethereum-Cryptocurrency (All about Ethereum)
Ad

More from R3 (20)

PDF
Insurance Round Table
 
PPTX
BizDay: David E. Rutter Welcome Address
 
PDF
BizDay: Usage Based Insurance and Fleet Management, Infosys
 
PPTX
DevDay: Managing a Distributed Network on a Common Infra, SIA
 
PPTX
BizDay: Improving Remittances in the World's 2nd Largest Corridor, Digiledge
 
PDF
BizDay: Designing the Future of Payments, Mastercard
 
PPTX
DevDay: Developer Updates: Visual Studio Code, Java 11 and OpenAPI (oh my), L...
 
PPTX
BizDay: Transition to DLT in RTGS payments, Accenture, SAP
 
PDF
BizDay: Connecting Construction & Insurance Ecosystem, Tinubu Square
 
PPTX
BizDay: The Wholesale Food Supply Chain is Ripe for Transformation, ripe.io
 
PPTX
BizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, Microsoft
 
PPTX
BizDay: Truck Wallet, Daimler, KI Decentralized
 
PDF
BizDay: A View From Behind the Curtain, SIX Exchange
 
PDF
BizDay: Finteum Presentation
 
PDF
BizDay: Using Tokens for Payment and Instant Settlement, R3
 
PDF
BizDay: Digital Micro-Lending and Debt Crowd Funding Platform, JVentures
 
PDF
BizDay: Trusted Data Exchange for Corp and Supplier Onboarding, Capgemini
 
PPTX
BizDay: The Path to The Risk Singularity, RiskStream
 
PPTX
BizDay: Insurtech Challenge, Nationwide
 
PPTX
BizDay: How Corda is Enabling Low Income Families to be Protected, Blocksure
 
Insurance Round Table
 
BizDay: David E. Rutter Welcome Address
 
BizDay: Usage Based Insurance and Fleet Management, Infosys
 
DevDay: Managing a Distributed Network on a Common Infra, SIA
 
BizDay: Improving Remittances in the World's 2nd Largest Corridor, Digiledge
 
BizDay: Designing the Future of Payments, Mastercard
 
DevDay: Developer Updates: Visual Studio Code, Java 11 and OpenAPI (oh my), L...
 
BizDay: Transition to DLT in RTGS payments, Accenture, SAP
 
BizDay: Connecting Construction & Insurance Ecosystem, Tinubu Square
 
BizDay: The Wholesale Food Supply Chain is Ripe for Transformation, ripe.io
 
BizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, Microsoft
 
BizDay: Truck Wallet, Daimler, KI Decentralized
 
BizDay: A View From Behind the Curtain, SIX Exchange
 
BizDay: Finteum Presentation
 
BizDay: Using Tokens for Payment and Instant Settlement, R3
 
BizDay: Digital Micro-Lending and Debt Crowd Funding Platform, JVentures
 
BizDay: Trusted Data Exchange for Corp and Supplier Onboarding, Capgemini
 
BizDay: The Path to The Risk Singularity, RiskStream
 
BizDay: Insurtech Challenge, Nationwide
 
BizDay: How Corda is Enabling Low Income Families to be Protected, Blocksure
 

Recently uploaded (20)

PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPT
introduction to datamining and warehousing
PDF
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PPTX
Artificial Intelligence
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
Safety Seminar civil to be ensured for safe working.
PPTX
Information Storage and Retrieval Techniques Unit III
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPTX
communication and presentation skills 01
PDF
Integrating Fractal Dimension and Time Series Analysis for Optimized Hyperspe...
PDF
PPT on Performance Review to get promotions
PDF
86236642-Electric-Loco-Shed.pdf jfkduklg
PDF
Abrasive, erosive and cavitation wear.pdf
PDF
737-MAX_SRG.pdf student reference guides
III.4.1.2_The_Space_Environment.p pdffdf
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
introduction to datamining and warehousing
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
Exploratory_Data_Analysis_Fundamentals.pdf
Artificial Intelligence
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
Safety Seminar civil to be ensured for safe working.
Information Storage and Retrieval Techniques Unit III
Categorization of Factors Affecting Classification Algorithms Selection
R24 SURVEYING LAB MANUAL for civil enggi
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
communication and presentation skills 01
Integrating Fractal Dimension and Time Series Analysis for Optimized Hyperspe...
PPT on Performance Review to get promotions
86236642-Electric-Loco-Shed.pdf jfkduklg
Abrasive, erosive and cavitation wear.pdf
737-MAX_SRG.pdf student reference guides

Corda Developer Bootcamp: Tokens

  • 3. Why tokens? Security • No Sensitive Data – Enhanced security as Sensitive data replaced with tokens • Simplified Compliance – Reduced compliance scope. Increased liquidity • Improved Liquidity – assets that are currently locked up in illiquid form can be readily traded. Increased market access • Accessibility – fractional ownership brings in new set of owners. • Fund raising – ISO gives ability for fund raising direct to funders. New financial products • Ability to create net new financial products
  • 4. Corda TokenSDK TokenSDK provides a standard library to create and manage tokens in Corda. Create Issue Move Redeem
  • 6. Token SDK: TokenType Fixed Token Evolvable Token
  • 8. Creating Tokens : Fixed Token TokenType myFixedToken = new TokenType(“PeterCoin”, 4); open class TokenType( open val tokenIdentifier: String, open val fractionDigits: Int ) Example: FiatCurrency Class in TokenSDK
  • 9. Creating Tokens : Evolvable Token public class MyEvolvableToken extends EvolvableTokenType { private final UniqueIdentifier linearId; <- EvolvableTokenType State is a LinearState private final List<Party> maintainers; <- Maintainers of the token private final int fractionDigits; <- The number of fractional digits allowable for this token type. //Build a wrapper for the tokenType state TransactionState<MyEvolvableToken> transactionState = new TransactionState<>(myEvolvableToken, notary); //Create the token via CreateEvolvableTokens Flow. subFlow(new CreateEvolvableTokens(transactionState));
  • 12. Issuing Tokens IssuedTokenType Holder: Party NonFungibleToken IssuedTokenType Amount Holder: Party FungibleToken Issuer : Party TokenType IssuedTokenType
  • 13. Issuing Tokens IssuedTokenType issuedHouseToken = new IssuedTokenType(issuer, houseState.toPointer(HouseState.class)); /* Create an instance of the non-fungible house token with the owner as the token holder. The last paramter is a hash of the jar containing the TokenType, use the helper function to fetch it. */ NonFungibleToken houseToken = new NonFungibleToken(issuedHouseToken, owner, UniqueIdentifier.Companion.fromString(UUID.randomUUID().toString()), TransactionUtilitiesKt.getAttachmentIdForGenericParam(houseState.toPointer(HouseState.class))); /* Issue the house token by calling the IssueTokens flow provided with the TokenSDK */ subFlow(new IssueTokens(Arrays.asList(houseToken)));
  • 14. Move & Redeem Tokens MoveFungibleTokens MoveFungibleTokensHandler MoveNonFungibleTokens MoveNonFungibleTokensHandler RedeemFungibleTokens RedeemFungibleTokensHandler RedeemNonFungibleTokens RedeemNonFungibleTokensHandler Update Evolvable Token UpdateEvolvableToken UpdateEvolvableTokenHandler
  • 15. Thank You Learn | Develop | Connect

Editor's Notes

  • #3: A token is simply a digital representation of a real world asset. On a blockchain it enables the full trust to be stored on the ledger.