DATABASE SYSTEM PUBLIC TRUST TOKEN REDEEM ARCHITECTURE USING WALLETS
A first message indicating that a first digital token created within an on-demand database system and recorded in a public trust ledger external to the on-demand database system has been transferred from a first party within the public trust ledger to a second party within the public trust ledger may be received. The on-demand database system may communicate with the public trust ledger to add a wallet account as a secondary owner to a smart contract that includes a second digital token. The smart contract may identify one or more conditions for transferring the second digital token to the second party. A second message identifying the second digital token may be transmitted to the second party within the public trust ledger.
1 . A method comprising:
receiving via a communication interface a first message indicating that a first digital token created within an on-demand database system and recorded in a public trust ledger external to the on-demand database system has been transferred from a first party within the public trust ledger to a second party within the public trust ledger;
communicating with the public trust ledger from the on-demand database system to add a wallet account as a secondary owner to a smart contract that includes a second digital token, the smart contract identifying one or more conditions for transferring the second digital token to the second party; and
transmitting a second message to the second party within the public trust ledger identifying the second digital token.
2 . The method recited in claim 1 , the method further comprising:
creating the wallet account within the public trust ledger.
3 . The method recited in claim 2 , the method further comprising:
determining via a processor whether the second party within the public trust ledger is linked with a database system account within the on-demand database system.
4 . The method recited in claim 3 , wherein the wallet account is created within the public trust ledger when it is determined that the second party within the public trust ledger is not linked with a database system account within the on-demand database system.
5 . The method recited in claim 1 , the method further comprising:
receiving a request to create a database system account within the on-demand database system in association with the second party, the request identifying the second digital token and the second party.
6 . The method recited in claim 5 , wherein the request also identifies the wallet account.
7 . The method recited in claim 1 , the method further comprising:
executing the smart contract to transfer the second digital token to the second party when it is determined that the one or more conditions are met.
8 . The method recited in claim 1 , wherein the first digital token is linked with a corresponding physical product in the on-demand database system via a database entry that includes a physical product identifier and a digital product identifier.
9 . The method recited in claim 8 , the method further comprising:
transferring the first digital token from the first party within the public trust ledger to an escrow public trust ledger account; and
updating the on-demand database system to reflect physical shipment of the corresponding physical product to a recipient.
10 . The method recited in claim 9 ,
receiving confirmation of receipt of the corresponding physical product; and
transferring the first digital token from the escrow public trust ledger account to the second party when confirmation of receipt of the corresponding physical product is received.
11 . The method recited in claim 1 , wherein the one or more conditions include creating a database system account within the on-demand database system by the second party.
12 . The method recited in claim 1 , wherein the second message also identifies the wallet account.
13 . The method recited in claim 1 , wherein the second message includes a URL that includes a wallet account identifier and a token identifier.
14 . A computer system implementing an on-demand database system, the computer system configured to perform a method comprising
receiving via a communication interface a first message indicating that a first digital token created within an on-demand database system and recorded in a public trust ledger external to the on-demand database system has been transferred from a first party within the public trust ledger to a second party within the public trust ledger;
communicating with the public trust ledger from the on-demand database system to add a wallet account as a secondary owner to a smart contract that includes a second digital token, the smart contract identifying one or more conditions for transferring the second digital token to the second party; and
transmitting a second message to the second party within the public trust ledger identifying the second digital token.
15 . The computer system recited in claim 14 , the method further comprising:
creating the wallet account within the public trust ledger; and
determining via a processor whether the second party within the public trust ledger is linked with a database system account within the on-demand database system, wherein the wallet account is created within the public trust ledger when it is determined that the second party within the public trust ledger is not linked with a database system account within the on-demand database system.
16 . The computer system recited in claim 14 , the method further comprising:
receiving a request to create a database system account within the on-demand database system in association with the second party, the request identifying the second digital token and the second party, wherein the request also identifies the wallet account.
17 . The computer system recited in claim 14 , the method further comprising:
executing the smart contract to transfer the second digital token to the second party when it is determined that the one or more conditions are met.
18 . One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:
receiving via a communication interface a first message indicating that a first digital token created within an on-demand database system and recorded in a public trust ledger external to the on-demand database system has been transferred from a first party within the public trust ledger to a second party within the public trust ledger;
communicating with the public trust ledger from the on-demand database system to add a wallet account as a secondary owner to a smart contract that includes a second digital token, the smart contract identifying one or more conditions for transferring the second digital token to the second party; and
transmitting a second message to the second party within the public trust ledger identifying the second digital token.
19 . The one or more non-transitory computer readable media system recited in claim 18 , the method further comprising:
creating the wallet account within the public trust ledger; and
determining via a processor whether the second party within the public trust ledger is linked with a database system account within the on-demand database system, wherein the wallet account is created within the public trust ledger when it is determined that the second party within the public trust ledger is not linked with a database system account within the on-demand database system.
20 . The one or more non-transitory computer readable media system recited in claim 18 , the method further comprising:
receiving a request to create a database system account within the on-demand database system in association with the second party, the request identifying the second digital token and the second party, wherein the request also identifies the wallet account.