IP Library › Granted Patent US 12,652,173
Granted Patent B2
US 12,652,173 · App. 18/886,680 · Granted Jun 9, 2026

System and method for generating blockchain token support from a set of declarations

Inventors: Todd Little (Lafayette, CO); Gourav Sarkar (Bangalore, IN); Paritosh Das (Bangalore, IN)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L9/3239G06F16/27H04L9/3213H04L9/50
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,652,173
App. No.
18/886,680
Filed
Sep 16, 2024
Granted
Jun 9, 2026
Kind
B2
Art Unit
2451
USPC
713/193
Abstract

Described herein are systems and methods for generating blockchain token support from a set of declarations. In accordance with an embodiment, an application builder (App Builder, Application Builder) component of a blockchain, blockchain cloud system, or other blockchain solution (e.g., Oracle Blockchain Platform) can provide a mechanism to define blockchain assets using a declaration or specification file, and then generate a blockchain smart contract that supports those assets. In accordance with an embodiment, the systems and methods described herein provide a mechanism for defining Tokens (e.g., Fungible or Non Fungible Tokens) adhering to a framework, such as the Token Taxonomy Framework, and generating the appropriate methods as defined by the token properties.

Claims (60)

1 . A system for generating a blockchain token from a set of declarations, comprising:

a computer system operating as a distributed ledger, the distributed ledger comprising at least a chaincode component and a ledger component;

wherein the system automatically generates a chaincode based upon received instructions comprising a specification file, the automatically generated chaincode being deployed to a local fabric;

wherein the specification file comprises a plurality of definitions, the plurality of definitions comprising one or more of asset definitions, behavior definitions, and/or role definitions;

wherein the automatically generated chaincode deployed to the local fabric is tested, the testing comprising:

scaffolding a code of a smart contract based upon the specification file,

testing the scaffolded code at the local fabric, and

based upon the testing of the scaffolded code at the local fabric, updating the specification file to provide an updated specification file; and

automatically generating, based upon the updated specification file, a second chaincode for deployment to the distributed ledger.

2 . The system of claim 1 , wherein automatically generating the second chaincode comprises:

automatically building a smart contract based upon the received instructions and the updated specification file, the smart contract being associated with a token specified within the updated specification file;

wherein the smart contract defines optional roles for the token specified within the updated specification file, the optional roles being specified by role definitions of the specification file; and

wherein the smart contract is tested and deployed to the chaincode component.

3 . The system of claim 2 , wherein a behavior specified within the updated specification file defines, for a token constructed by the smart contract and deployed to the ledger component, one or more behaviors for the constructed token.

4 . The system of claim 2 , wherein a role specified within the updated specification file defines, for a token constructed by the smart contract and deployed to the ledger component, one or more of a plurality of token roles, the plurality of token roles comprising a minter role, a burner role, and a notary role.

5 . The system of claim 1 , wherein automatically generating the second chaincode comprises:

generating the chaincode based upon the updated specification file and the received instructions, the received instructions specifying instructions to generate a token for use on ledger component,

retrieving, from the received instructions, at least one assigned behavior,

assigning the at least one assigned behavior to the token via the automatically generated second chaincode, and

detecting whether a token role is associated with the token within the received instructions, and upon detecting that no token role is assigned to the token, assigning each of a plurality of token roles to the token via the automatically generated second chaincode.

6 . The system of claim 5 , wherein the plurality of token roles comprise a minter role, a burner role, and a notary role.

7 . A method for generating a blockchain token from a set of declarations, comprising:

providing a computer system operating as a distributed ledger, the distributed ledger comprising at least a chaincode component and a ledger component;

automatically generating a chaincode based upon received instructions, the instructions comprising a specification file, the automatically generated chaincode being deployed to a local fabric, and wherein the specification file comprises a plurality of definitions, the plurality of definitions comprising one or more of asset definitions, behavior definitions, and/or role definitions;

testing the automatically generated chaincode deployed to the local fabric, the testing comprising:

scaffolding a code of a smart contract based upon the specification file,

testing the scaffolded code at the local fabric, and

based upon the testing of the scaffolded code at the local fabric, updating the specification file to provide an updated specification file; and

automatically generating, based upon the updated specification file, a second chaincode for deployment to the distributed ledger.

8 . The method of claim 7 , wherein automatically generating the second chaincode comprises:

automatically building a smart contract based upon the received instructions and the updated specification file, the smart contract being associated with a token specified within the updated specification file;

wherein the smart contract defines optional roles for the token specified within the updated specification file, the optional roles being specified by role definitions of the specification file; and

wherein the smart contract is tested and deployed to the chaincode component.

9 . The method of claim 8 , wherein a behavior specified within the updated specification file defines, for a token constructed by the smart contract and deployed to the ledger component, one or more behaviors for the constructed token.

10 . The method of claim 8 , wherein a role specified within the updated specification file defines, for a token constructed by the smart contract and deployed to the ledger component, one or more of a plurality of token roles, the plurality of token roles comprising a minter role, a burner role, and a notary role.

11 . The method of claim 7 , wherein automatically generating the second chaincode comprises:

generating the chaincode based upon the updated specification file and the received instructions, the received instructions specifying instructions to generate a token for use on ledger component,

retrieving, from the received instructions, at least one assigned behavior,

assigning the at least one assigned behavior to the token via the automatically generated second chaincode, and

detecting whether a token role is associated with the token within the received instructions, and upon detecting that no token role is assigned to the token, assigning each of a plurality of token roles to the token via the automatically generated second chaincode.

12 . The method of claim 11 , wherein the plurality of token roles comprise a minter role, a burner role, and a notary role.

13 . A non-transitory computer readable storage medium having instructions thereon for generating a blockchain token from a set of declarations, which when read and executed cause a computer to perform a method comprising:

running a distributed ledger on the computer, the distributed ledger comprising at least a chaincode component and a ledger component;

automatically generating a chaincode based upon received instructions, the instructions comprising a specification file, the automatically generated chaincode being deployed to a local fabric, and wherein the specification file comprises a plurality of definitions, the plurality of definitions comprising one or more of asset definitions, behavior definitions, and/or role definitions;

testing the automatically generated chaincode deployed to the local fabric, the testing comprising:

scaffolding a code of a smart contract based upon the specification file,

testing the scaffolded code at the local fabric, and

based upon the testing of the scaffolded code at the local fabric, updating the specification file to provide an updated specification file; and

automatically generating, based upon the updated specification file, a second chaincode for deployment to the distributed ledger.

14 . The non-transitory computer readable storage medium of claim 13 , wherein automatically generating the second chaincode comprises:

automatically building a smart contract based upon the received instructions and the updated specification file, the smart contract being associated with a token specified within the updated specification file;

wherein the smart contract defines optional roles for the token specified within the updated specification file, the optional roles being specified by role definitions of the specification file; and

wherein the smart contract is tested and deployed to the chaincode component.

15 . The non-transitory computer readable storage medium of claim 14 , wherein a behavior specified within the updated specification file defines, for a token constructed by the smart contract and deployed to the ledger component, one or more behaviors for the constructed token.

16 . The non-transitory computer readable storage medium of claim 14 , wherein a role specified within the updated specification file defines, for a token constructed by the smart contract and deployed to the ledger component, one or more of a plurality of token roles, the plurality of token roles comprising a minter role, a burner role, and a notary role.

17 . The non-transitory computer readable storage medium of claim 13 , wherein automatically generating the second chaincode comprises:

generating the chaincode based upon the updated specification file and the received instructions, the received instructions specifying instructions to generate a token for use on ledger component,

retrieving, from the received instructions, at least one assigned behavior,

assigning the at least one assigned behavior to the token via the automatically generated second chaincode, and

detecting whether a token role is associated with the token within the received instructions, and upon detecting that no token role is assigned to the token, assigning each of a plurality of token roles to the token via the automatically generated second chaincode, the plurality of token roles comprising a minter role, a burner role, and a notary role.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2024
From: LITTLE, TODD; SARKAR, GOURAV; DAS, PARITOSH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 068964/0240 →
Continuity (3)
Continuation 17514880 · Oct 29, 2021
Provisional Application 63250878 · Sep 30, 2021
Related Publication 20250007721A1 · Jan 2, 2025
References Cited (27)
US 11169798B1 · Palmer · 2021 [cited by examiner]
US 12095924B2 · Little · 2024 [cited by applicant]
US 20160092590A1 · Song · 2016 [cited by examiner]
US 20190251018A1 · Jin · 2019 [cited by applicant]
US 20190303623A1 · Reddy · 2019 [cited by examiner]
US 20200067789A1 · Khuti · 2020 [cited by examiner]
US 20200351093A1 · Madhuram · 2020 [cited by applicant]
US 20210067536A1 · Mylrea · 2021 [cited by examiner]
US 20210390191A1 · Doney · 2021 [cited by applicant]
US 20210397656A1 · Van Dusen · 2021 [cited by examiner]
US 20210406003A1 · Crabtree · 2021 [cited by applicant]
US 20220084013A1 · Kulkarni · 2022 [cited by applicant]
US 20220292268A1 · Shillingford · 2022 [cited by applicant]
US 20230097203A1 · Little · 2023 [cited by applicant]
CN 113050929 · 2021 [cited by applicant]
Hyperledgendary.github, Smart Contracts and Chaincode, 2020, https://web.archive.org/web/20200907224904/https://hyperledgendary.github.io/unstable-fabric-docs/smartcontract/smartcontract.html (Year: 2020). [cited by examiner]
Interwork Alliance, “IWA Token Taxonomy Framework”, 3 pages, retrieved Jun. 4, 2021 from: retrieved: <https://interwork.org/frameworks/token-taxonomy-framework/>. [cited by applicant]
Oracle, “Using Oracle Blockchain Platform”, Oracle® Cloud, © Oracle, 1 page, retrieved Jun. 4, 2021 from: retrieved: <https://docs.oracle.com/en/cloud/paas/blockchain-cloud/usingoci/index.html>. [cited by applicant]
Oracle, “Oracle Cloud Using Oracle Blockchain Platform”, F26726-10, Copyright © 2020, 2021, Apr. 2021, 284 pages. [cited by applicant]
InterWork Alliance, “Token Taxonomy Framework”; retrieved from <https://github.com/InterWorkAlliance/Token TaxonomyFramework> on Apr. 19, 2024, 4 pages. [cited by applicant]
Microsoft Visual Studio, “IWA Token Designer for Visual Studio Code”; retrieved from <https://marketplace.visualstudio.com/items?itemName=InterWorkAlliance.token-designer> on Apr. 19, 2024, 6 pages. [cited by applicant]
InterWork Alliance, “Token Taxonomy Framework—Jan. 2022”; retrieved from <https://github.com/InterWorkAlliance/TokenTaxonomyFramework/blob/main/token-taxonomy.md> on Apr. 19, 2024, 41 pages. [cited by applicant]
InterWork Alliance, “Token Taxonomy Framework holdable.proto” retrieved from <https://github.com/InterWorkAlliance/TokenTaxonomyFramework/blob/main/artifacts/behaviors/holdable/latest/holdable.proto> on Apr. 19, 2024, 2… [cited by applicant]
Oracle, “Using Oracle Blockchain Platform—Using Blockchain App Builder for Oracle Blockchain Platform”, Oct. 2021, retrieved from <https://web.archive.org/web/20211019004009/https://docs.oracle.com/en/cloud/paas/blockch… [cited by applicant]
Oracle, “Using Oracle Blockchain Platform—Tokenization Support Using BlockChain App Builder”, Oct. 2021, retrieved from <https://web.archive.org/web/20211017134156/docs.oracle.com/en/cloud/paas/blockchain-cloud/usingoci… [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Jan. 4, 2024 for U.S. Appl. No. 17/514,880 , 14 pages. [cited by applicant]
United States Patent and Trademark Office, Notice of Allowance and Fee(s) Due dated Apr. 22, 2024 for U.S. Appl. No. 17/514,880 , 14 pages. [cited by applicant]