Key Points
- different token types for different purposes ( security, utility, loyalty incentives etc ) ( see Token Taxonomy Framework )
- different jurisdictions have different legal definitions and regulations for different token types ( still evolving )
- security token - has a defined claim against assets ( like stock ) and issued via ICO or secondary sale
- utility token - used to incentivize participants on a platform, can be used to purchase goods on marketplace
- currency - tokens that can be bought and sold on open marketplaces - may have fixed or variable value ( Ethereum vs Stable coin )
- Fabric does not have a native token infrastructure yet in v2x
References
Reference_description_with_linked_URLs_______________________ | Notes______________________________________________________________ |
---|---|
m Token Economy Examples: Tokenomics | |
m TOIP Trust Over IP | |
m SSI / DID - Self Sovereign Identity | |
m Hyperledger Indy | |
m Hyperledger Aries - identity, data management tools | wallets and more |
https://github.com/InterWorkAlliance/TokenTaxonomyFramework | TTF overview page *** |
https://github.com/interwork-alliance/TokenTaxonomyFramework | TTF |
https://interwork.org/ | Interwork Alliance |
https://www.forbes.com/sites/vipinbharathan/2020/06/07/digital-assets -ecosystem-will-be-powered-by-end-to-end-standards/#1b13be873fd8 | Vipin on Interwork Alliance |
https://defiprime.com/bonding-curve-explained token-bonding-curves-defiprime.com-Bonding Curve Offering Explained | Token Bonding Curves explained |
https://etherisc.com/files/token_mechanics_1.0_en.pdf | Token mechanics for insurance use case |
https://bitscreener.com/news/zealeum-the-blockchain-based-health-and-wellness- platform-announces-its-pre-sale | Zealeum wellness site and tokens |
https://lists.hyperledger.org/g/fabric/message/6228 | FAB token design story |
https://github.com/grepruby/ERC20-Token-On-Hyperledger | FAB ERC-20 token wallet example - github |
https://medium.com/deqode/erc20-tokens-on-hyperledger-b82399b4b969 | FAB ERC-20 token wallet example - medium |
https://github.com/ethereum/eips/issues/1155 | ERC 1155 Multi-token wallet std |
https://blog.enjin.io/erc-1155-token-standard-ethereum/ | ERC 1155 Multi-token wallet std - good article |
https://github.com/ethereum/EIPs/issues/1155 | ERC 1155 Multi-token wallet std - github |
Token references | |
https://invao.org/token-classes-explained-coin-vs-utility-token-vs-security-token/ | Token Types |
https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework | Token Taxonomy Framework |
https://medium.com/deqode/erc20-tokens-on-hyperledger-b82399b4b969 | Sample token framework example for HLF and ERC20 wallets |
https://blog.oceanprotocol.com/how-to-monetize-tokenize-data-8f860e405773 | Monetize and Tokenize data article 1 - ocean protocol |
https://oceanprotocol.com/protocol/#papers | Ocean papers |
https://docs.oceanprotocol.com/concepts/architecture/ | Ocean Architecture |
https://github.com/oceanprotocol/OEPs/tree/master/10 | Ocean Protocol github |
https://docs.oceanprotocol.com/concepts/wallets/ | Ocean Wallet basics |
https://docs.oceanprotocol.com/tutorials/react-setup/ | custom React app to run Ocean protocol |
https://metamask.io/ | plugin to run DApps in a browser |
https://blog.sfox.com/what-are-utility-tokens-and-how-will-they-be-regulated-89cfb6bb2a45 | Potential regulation of utility tokens by SEC |
Token Platforms | |
Use Stellar to Manage Asset Token Life cycle effectively | Use Stellar to Manage Asset Token Life cycle effectively *** |
https://www.exodus.io/blog/stellar-vs-ripple/ | Stellar vs Ripple |
https://www.bitdegree.org/tutorials/stellar-vs-ripple/ | Choose Stellar or Ripple? |
Stellar asset token management platform | fast, affordable service, more flexibility |
https://www.stellar.org/developers | Stellar developers |
https://developers.stellar.org/docs/anchoring-assets/anchor-platform/ | The Stellar Anchor Platform accomplishes this by implementing the ecosystem's standardized APIs (SEPs) for wallets, exchanges, and other applications to consume, while offering a set of backend APIs for businesses to provide information specific to them, such as transaction fees, exchange rates, and off-chain transaction statuses. |
https://developers.stellar.org/docs/anchoring-assets/enabling-cross-border-payments/ | Stellar Cross Border Payments Supporting cross-border payments of an asset through the Stellar network requires cooperation between a sending anchor (SA) and receiving anchor (RA). In this section, we'll only go over the steps necessary for building a SEP-31 receiving anchor, but documentation for building a sending anchor is in development. |
https://developers.stellar.org/docs/run-core-node/ | Run a Stellar Core Node ( if needed ) operate network Stellar is a peer-to-peer network made up of nodes, which are computers that keep a common distributed ledger, and that communicate to validate and add transactions to it. Nodes use a program called Stellar Core — an implementation of the Stellar Consensus Protocol — to stay in sync as they work to agree on the validity of transaction sets and to apply them to the ledger. Generally, nodes reach consensus, apply a transaction set, and update the ledger every 3-5 seconds. you need to set up to connect to the peer-to-peer network and store the state of the ledger in a SQL database. |
https://developers.stellar.org/docs/run-api-server/ | Run a Stellar Horizon API Server ( if needed ) to access Stellar net by api Horizon is responsible for providing an HTTP API to data in the Stellar network. It ingests and re-serves the data produced by the Stellar network in a form that is easier to consume by the average application relative to the performance-oriented data representations used by Stellar Core. This guide describes how to administer a production Horizon 2.0+ instance we do not endorse running Horizon backed by a standalone Stellar Core instance, and especially not by a validating Stellar Core Running Horizon within your own infrastructure provides a number of benefits. You can:
|
https://developers.stellar.org/docs/tools-and-sdks | Stellar Tools and SDKs and Wallets Freighter - a non-custodial wallet given Stellar holds the asset tokens SDF’s flagship non-custodial wallet extension that enables you to sign Stellar transactions via your browser. Go monorepo The two key libraries for interacting with Horizon are |
https://developers.stellar.org/docs/glossary | Stellar Concepts AccountA central Stellar data structure to hold balances, sign transactions, and issue assets. See the Accounts section to learn more. Account IDThe public key used to create an account. This key persists across different key assignments. AnchorThe on and off-ramps on the Stellar network that facilitate one-to-one conversion of off-chain representations to and from tokenized assets, for example, digital tokens representing bank deposits. Application (app)A software program designed for users to carry out a specific task (other than operating the computer itself). BalanceThe amount of a given asset an account holds. Each asset has its own balance and these balances are stored in trustlines for every asset except XLM, which is held directly by the account. Base feeThe fee the network charges per operation in a transaction. When the network is in surge pricing mode, the base fee varies based on an auction mechanism. When it's not, the base fee defaults to the network minimum currently at 100 stroops per operation. Learn more in our Fees, Surge Pricing, and Fee Strategies Encyclopedia Entry Base reserveA unit of measurement used to calculate an account’s minimum balance. One base reserve is currently 0.5 XLM. Learn more in our Lumens section. KeypairA combined public and private key used to secure transactions. You can use any Stellar wallet, SDK, or the Stellar Laboratory to generate a valid keypair. KeystoreAn encrypted store or file that serves as a repository of private keys, certificates, and public keys. LedgerA representation of the state of the Stellar universe at a given point in time, shared across all network nodes. LedgerKeyLedgerKey holds information to identify a specific ledgerEntry. It is a union that can be any one of the LedgerEntryTypes (ACCOUNT, TRUSTLINE, OFFER, DATA, or CLAIMABLE_BALANCE). LiabilityA buying or selling obligation, required to satisfy (selling) or accommodate (buying) transactions. OrderbookA record of outstanding orders on the Stellar network. Passive orderAn order that does not execute against a marketable counter order with the same price; filled only if the prices are not equal. PathfindingThe process of determining the best path of a payment, evaluating the current orderbooks, and finding the series of conversions to achieve the best rate. Payment channelAllows two parties who frequently transact with one another to move the bulk of their activity off-chain, while still recording opening balances and final settlement on-chain. PriceThe ratio of the quote asset and the base asset in an order. Rate-limitingHorizon rate limits on a per-IP-address basis. By default, a client is limited to 3,600 requests per hour, or one request per second on average. Sequence numberUsed to identify and verify the order of transactions with the source account. Secret (private) keyThe private key is part of a keypair, which is associated with an account. Do not share your secret key with anyone. SignerRefers to the master key or to any other signing keys added later. A signer is defined as the pair: public key + weight. Signers can be set with the Set Options operation. See our Signature and Multisignature Encyclopedia Entry for more information. Source accountThe account that originates a transaction. This account also provides the fee and sequence number for the transaction. StarlightStellar’s layer 2 protocol that allows for bi-directional payment channels. StellarA decentralized, federated peer-to-peer network that allows people to send payments in any asset anywhere in the world instantaneously, and with minimal fees. Stellar Consensus Protocol (SCP)Provides a way to reach consensus without relying on a closed system to accurately record financial transactions. Stellar CoreA replicated state machine that maintains a local copy of a cryptographic ledger and processes transactions against it, in consensus with a set of peers; also, the reference implementation for the peer-to-peer agent that manages the Stellar network. Stellar.tomlA formatted configuration file containing published information about a node and an organization. For more, see the Stellar Info File spec (SEP-0001`) TransactionA group of 1 to 100 operations that modify the ledger state. Read more in the Operations and Transactions section. Transaction envelopeA wrapper for a transaction that carries signatures. Transaction feeStellar requires a small fee for all transactions to prevent ledger spam and prioritize transactions during surge pricing. TrustlineAn explicit opt-in for an account to hold a particular asset that tracks liabilities, the balance of the asset, and can also limit the amount of an asset that an account can hold. Learn more in our Accounts section. ValidatorA basic validator keeps track of the ledger and submits transactions for possible inclusion. It ensures reliable access to the network and sign-off on transactions. A full validator performs the functions of a basic validator, but also publishes a history archive containing snapshots of the ledger, including all network transactions and their results. XLM (lumens)The native currency of the Stellar network. WalletAn interface that gives a user access to an account stored on the ledger; that access is controlled by the account’s secret key. The wallet allows users to store and manage their assets. |
https://www.stellar.org/developers/guides/ | Development guides |
https://www.stellar.org/developers/guides/concepts/fees.html | Transaction fees |
https://www.stellar.org/developers/reference/ | Stellar Client API supports Java, JS, GO |
Ripple | fast, affordable service |
https://xrpl.org/ | Ripple developer site for XRP Ledger |
https://xpring.io/ | Xpring.io - open money platform Interledger connects other ledgers ( ILP ) Java, JS, Swift languages |
Gamification references | |
https://www.forte.io/ | Forte.io gaming economies on tokens, wallets, blockchains |
Key Concepts
Token Types for different use cases
Design process can determine the need for different token types in the disbursement solution
Token Taxonomy Initiative defines a Token Taxonomy Framework
https://github.com/interwork-alliance/TokenTaxonomyFramework
https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework
http://tokentaxonomy.org/wp-content/uploads/2019/11/TTF-Overview.pdf
Examples of tokens defined in version 1 specification
Token Taxonomy Framework
https://github.com/interwork-alliance/TokenTaxonomyFramework
https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework
token-taxonomy-framework-github.pdf
The taxonomy is comprised of artifacts that are categorized into 5 basic types:
- Base Types: the foundation of any token is its base token type.
- Behaviors: capabilities or restrictions that can apply to a token.
- Behavior Groups: a bundle of behaviors that are frequently used together.
- Property Sets: a defined property or set of properties that - when applied to a token - can support a value that can be queried.
- Token Templates: a composition of artifacts brought together to create a classification and detailed specification. There are 2 parts of a template, the formula and definition.
Hierarchy
Token behaviors
A behavior may also include things like a sequence diagram to clearly define how a behavior is invoked and how the behavior responds using the defined control message definitions.
Token formulas - token definition language
The formula uses brackets, braces and parentheses to combine the token parts and starts with the base token type:
Token Base Type | Visual Format | Tooling Format |
---|---|---|
Fungible | τF | tF |
Non-fungible | τN | tN |
Unique Fungible | τF' | tF' |
Unique Non-fungible | τN' | tN' |
Hybrid – class in (,) | ||
Non-fungible with a class of fungibles | τN(τF) | [tN](tF) |
Fungible with a class of non-fungibles | τF(τN) | [tF](tN) |
Fungible with a class of non-fungibles and fungibles | τF(τN, τF) | [tF](tN,tF) |
Non-fungible with a class of fungibles and non-fungibles | τN(τF, τN) | tN](tF,tN) |
Non-fungible with a class of fungibles and non-fungibles, with each child having formulas | τN([τF], [τN)] | [tN]([tF],[tN]) |
etc. |
Examples of formulas
A token formula uses the taxonomy symbols, which are references to artifacts, can be used to represent a token that is useful for tooling allowing grouping and structures to be represented. Some examples:
Token Types
https://invao.org/token-classes-explained-coin-vs-utility-token-vs-security-token/
But it’s actually quite simple: Coins are a currency, utility tokens offer a right to use a product or service, and security tokens represent an investment product.
- Security token is an investment with a defined stake in assets ( eg company eps, fixed assets etc )
- Coin token is a digital currency ( an alternative to fiat currency )
- coins bought and sold through exchanges for a fee
- coins can have fluctuating value ( value store ) like Ethereum, Stellar etc
- coins can have stable values ( value transfer ) like USD coin etc
- Utilitiy tokens have specific value in a defined context ( eg buy a product or use a service in online marketplace etc )
- To use a utility token outside the platform, it is normally redeemed for digital currency or fiat currency unless there is an ecosystem that accepts it
- Investors can buy these tokens and use them as a means of payment on the platform developed by the issuing company.
- Single Use tokens
- issued by party A to party B for party B to execute a transaction on A's blockchain using a smart contract one time only
What are utlity tokens
https://blog.sfox.com/what-are-utility-tokens-and-how-will-they-be-regulated-89cfb6bb2a45
Using Utility Tokens
A Uber token, for example, could be used to pay for a ride with a Uber car. But not for anything else. If you wanted to use the Uber token to buy another product or service, you would first have to exchange it against either fiat money or a crypto-coin such as bitcoin.
Token Classifications
https://github.com/token-taxonomy-initiative/TokenTaxonomyFramework
The TTF classifies tokens using five characteristics they possess, allowing tokens that share the same characteristics to be classified together. These are foundational token concepts that can be applied to most tokens.
- Token Type: Fungible or Non-Fungible. The difference between the two is clarified later in this document
- Token Unit: Fractional, Whole or Singleton indicates if a token can be subdivided into smaller fractions, usually represented as decimals, or if there can be a quantity greater than 1. For example, a $1 bill can sub-divided to 2 decimal places and can be broken into four .25¢ coins (or a number of different variation of coins) and is thus Fractional. Whole means no subdivision allowed - just whole numbers quantities - and a Singleton has a quantity of 1 with no subdivision.
- Value Type: Intrinsic or Reference indicates if the token itself is a value, like a crypto currency, or if it references a value elsewhere, like a property title.
- Representation Type: Common or Unique. Common tokens share a single set of properties, are not distinct from one another, and balances are recorded in a central place. These tokens are simply represented as a balance or quantity attributed to an owner’s address where all the balances are recorded on the same balance sheet. A unique token has its own identity, can have unique properties, and be individually traced. Common tokens are like money in a bank account and Unique tokens are like money in your pocket.
- Template Type: Single or Hybrid, covered later, but is an indication of any parent/child relationships or dependencies between tokens.
Taxonomy Artifacts, Categories, and Templates
The taxonomy is comprised of artifacts that are categorized into 5 basic types:
- Base Types: the foundation of any token is its base token type.
- Behaviors: capabilities or restrictions that can apply to a token.
- Behavior Groups: a bundle of behaviors that are frequently used together.
- Property Sets: a defined property or set of properties that - when applied to a token - can support a value that can be queried.
- Token Templates: a composition of artifacts brought together to create a classification and detailed specification. There are 2 parts of a template, the formula and definition.
Token transfer requests
Base Token Types
Fungible
Physical cash or a crypto currency is a good example of a fungible token. These tokens have interchangeable value with one another, where any quantity of them has the same value as another equal quantity if they are in the same class or series. A fungible token is identified by τF symbol.
Non-fungible
A non-fungible token is unique. Hence a non-fungible token is not interchangeable with other tokens of the same type as they typically have different values. A property title is a good example of a non-fungible token where the title to a broken-down shack is not of the same value as as the title to a mansion.
A fungible token is identified by τN.
Representation Type
Tokens can have either a common representation, sometimes called account or balance tokens, or unique representation, or UTXO (unspent transaction output). This distinction might seem subtle but is important when considering how tokens can be traced and if they can have isolated and unique properties.
Common tokens share a single set of properties, are not distinct from one another, and balances are recorded in a central place. These tokens are simply represented as a balance or quantity attributed to an owner address where all the balances are recorded on the same balance sheet. This balance sheet is distributed, not centralized, and rather simplified. Common tokens have the advantage of easily sharing a value like a "SKU" where the change in the value is immediately reflected for all tokens. Common tokens cannot be individually traced, only their balances between accounts can.
Bank accounts are an example of a common fungible token.
Unique tokens have their own identities and can be individually traced. Each unique token can carry unique properties that cannot be changed in one place and cascade to all and their balances must be summed. Bank notes and paper bills are interchangeable but have unique properties like a serial number and are therefore examples of unique fungible tokens.
A unique token is identified by ‘
following the type symbol, i.e. τF'.
Hybrids
Hybrid tokens combine a parent token and one or more child token(s) to model different use cases. Hybrids can get nested where a child token is also a parent for more complex scenarios. Here are some examples.
Shared Non-fungible Parent with Fungible classes
These tokens have a non-fungible parent or base token and can have multiple classes of child tokens. An example of this hybrid is a rock concert, where the parent token represents the specific date or showing of the concert with a fungible child for general admission and a non-fungible child for "reserved" section seating. Represented as τN(τF, τN).
The owner of an instance of this token will possess the child token that pulls along the parent and is presented at the concert gate for admission. If the parent token date matches the current date the token is valid for admission. If the child token that is owned is in the reserved seating section, the owner has the right to sit in the seat indicated by the token.
Fungible Parent class owns or has many non-fungible Children
A token can be the parent of any number of tokens to represent the compound value of the child tokens. For example, a τF(τN) is a fungible token parent that is the owner of one or more non-fungible tokens. An owner of an instance of this parent would own a percentage of the pool of non-fungible child tokens. A mortgage-backed security is a good example of this type of hybrid token.
Token properties
Token Behaviors
Token Taxonomy Framework pdf from githun
https://drive.google.com/open?id=1CjNlFeoTMG9jH78Fgp5fcY8DXXipR3Aw
Sequence diagram shows process to mint token
Token usage models
Reward systems
Reputation systems
Custom Tokens on HLF example 1 - for ERC20 wallet
https://medium.com/deqode/erc20-tokens-on-hyperledger-b82399b4b969
Sample token framework example for HLF and ERC20 wallets
Github links
https://github.com/grepruby/ERC20-Token-On-Hyperledger/tree/v1.0/chaincode/token_chaincode/node
https://github.com/grepruby/ERC20-Token-On-Hyperledger/tree/v1.0/chaincode/token_chaincode/node/tokens
it sets up a token network based on Fabric and shows the use of a smart contract for using ERC20 token (still a token and principles/functions of using it still apply etc...)
Issue custom tokens on the Stellar Network for use in HLF solutions
https://www.lumenauts.com/guides/how-to-issue-a-token-or-ico-on-stellar
- Issuing Account. Visit the Stellar Account Viewer and generate a new account. ...
- Distribution Account. In the Stellar Account Viewer, generate another account. ...
- Trust the Issuer. ...
- Change Trust. ...
- Complete Transaction. ...
- Generate Tokens. ...
- Why Limit the Supply. ...
- Limit Transaction.
tokens-lumenauts.com-How to Issue a Token or ICO on Stellar.pdf
Using custom tokens on HLF network solutions
setup for the tokens
The custom tokens should be standard ERC20 tokens for wallets
Create users, identities, ERC20 wallets.
Using the tokens
Then distribute the tokens in the HLF app: sell or donate to users as rewards
Users can buy, sell, donate on the network using tokens
Burn the tokens - buy back the tokens from users at a fixed price or ??
Interwork Token Architecture
The value exchange layered protocol for Interwork opens many doors
Digital Assets Ecosystem Will Be Powered By End-To-End Standards Vipin |
---|
These tokens are often marooned in platforms with no way to interwork with other tokens or payment systems or existing financial market infrastructure. Releasing the tokens from their current prisons and allowing them to interoperate will unleash business value. IWA standards are meant to be platform and technology neutral and not limited to blockchain or distributed ledger technologies. IWA focuses on the interoperation of value represented by tokens, by addressing three layers of the problem. Each layer is at a different level in the business stack. Starting from the base,
Token templates can make it easier for business analysts to model tokens and behaviors: For example a token that can be minted and transferred has behaviors like mint and transfer. A business analyst models a token using a graphical front end, which in turn generates artifacts that span business specifications and code. This creates a seamless way to model the token from concept to code. Templates can be developed by domain Multi-party contracts can leverage existing systems like CDM IWA will benefit by looking at work that has already been done in the CDM or the Common Domain Model. CDM although first developed by ISDA, the International Swaps and Derivatives Association is now open source. CDM is being generalized for all types of contracts and is platform neutral. The same model can be used for other domains ISDA CDM fact sheethttps://www.isda.org/a/z8AEE/ISDA-CDM-Factsheet.pdf Create standards for market -driven analysis of contractually shared data for regulatory reporting and extraction of business value. This analysis will use privacy preserving methods. One can assume zero-knowledge proofs or homomorphic techniques. In this too, existing standards need to be looked at and integrated into the IWA. Roles will be mapped to sets of token behaviors identities can be mapped to roles by: automatic or manual assignments |
Monetize and Tokenize Data
Ocean Protocol Network
https://blog.oceanprotocol.com/how-to-monetize-tokenize-data-8f860e405773
four building blocks needed to make this vision of open data sharing a reality. This open system allows every data provider to monetize and tokenize their data, so that data itself could be a sustainable business model. Once I explain how data can be used more openly, can we then apply the tools of finance to it?
Ocean architecture
https://docs.oceanprotocol.com/concepts/architecture/
An overview of the architecture of Ocean Protocol.
https://docs.oceanprotocol.com/concepts/secret-store/
Ocean Software components
https://docs.oceanprotocol.com/concepts/components/
Keeper
A computer running an EVM-compatible blockchain client (such as Parity Ethereum) where the associated blockchain network is running the Ocean Protocol keeper-contracts (smart contracts).
Secret Store
A Parity Secret Store: software for distributed key pair generation, distributed key storage, and threshold retrieval. It’s used to store asset access-control keys.
Acquarius item metadata manager
Marketplaces run Aquarius to store and manage metadata about the assets available in their marketplace. It provides an HTTP API for interacting with an off-chain database (sometimes called “OceanDB”).
Ocean DB Drivers
Aquarius supports several options for the off-chain database (OceanDB), including Elasticsearch and MongoDB. One can add support for another off-chain database by creating a new driver similar to the existing OceanDB drivers.
Birzio to manage access to market assets
Publishers run Brizo to manage interactions with marketplaces and consumers. It interacts with the publisher’s cloud and/or on-premise infrastructure.
The most basic scenario for a publisher is to provide access to the assets the publisher owns or manages, but Brizo can do much more.
Events Handler
Brizo communicates with the Events Handler to deal with Keeper Contracts events.
The Events Handler monitors Service Execution Agreement (SEA) events and acts as a provider agent to grant access and release rewards for the publisher/provider. This is a critical part in the process of consuming data sets in the Ocean Protocol network.
Every provider in the network must run some sort of an events handler to be able to fulfill the access condition of an Access
service in a Service Execution Agreement.
Osmosis Drivers
Brizo supports several options for file storage, including Azure Storage, Amazon S3 and on-premise storage. One can add support for another file storage option by creating a new driver similar to one of the existing Osmosis drivers.
Squid Libraries
Client libraries used by applications (such as Pleuston or Jupyter notebooks) to interact with Ocean components, including Keepers, Aquarius nodes, Brizo nodes, etc.
Commons Marketplace
An online example marketplace/publisher for consumers to explore, download, and publish open data sets in the Pacific Network. Implemented using React and squid-js.
For more information, see the blog post about Commons Marketplace.
Pleuston example marketplace publisher
An example marketplace/publisher front-end for developers to explore, download, and publish assets in an Ocean Protocol network. Implemented using React and squid-js.
Ocean Tutorials
https://docs.oceanprotocol.com/tutorials/introduction/
These tutorials cover:
- The basics of using wallets with Ocean Protocol.
- How to set up storage (e.g. in Azure or AWS) to be used with Ocean Protocol.
- Examples of using squid-js (JavaScript), squid-py (Python) and squid-java to publish a data set, to get & use a data set, and to do other things.
Potential Value Opportunities
Potential Challenges
Candidate Solutions
Stellar Digital Asset Token Platform
Stellar Concepts & Terms
https://developers.stellar.org/docs/glossary
Account
A central Stellar data structure to hold balances, sign transactions, and issue assets.
See the Accounts section to learn more.
Account ID
The public key used to create an account. This key persists across different key assignments.
Anchor
The on and off-ramps on the Stellar network that facilitate one-to-one conversion of off-chain representations to and from tokenized assets, for example, digital tokens representing bank deposits.
Application (app)
A software program designed for users to carry out a specific task (other than operating the computer itself).
Balance
The amount of a given asset an account holds. Each asset has its own balance and these balances are stored in trustlines for every asset except XLM, which is held directly by the account.
Base fee
The fee the network charges per operation in a transaction. When the network is in surge pricing mode, the base fee varies based on an auction mechanism. When it's not, the base fee defaults to the network minimum currently at 100 stroops per operation.
Learn more in our Fees, Surge Pricing, and Fee Strategies Encyclopedia Entry
Base reserve
A unit of measurement used to calculate an account’s minimum balance. One base reserve is currently 0.5 XLM.
Learn more in our Lumens section.
Keypair
A combined public and private key used to secure transactions. You can use any Stellar wallet, SDK, or the Stellar Laboratory to generate a valid keypair.
Keystore
An encrypted store or file that serves as a repository of private keys, certificates, and public keys.
Ledger
A representation of the state of the Stellar universe at a given point in time, shared across all network nodes.
LedgerKey
LedgerKey holds information to identify a specific ledgerEntry. It is a union that can be any one of the LedgerEntryTypes (ACCOUNT, TRUSTLINE, OFFER, DATA, or CLAIMABLE_BALANCE).
Liability
A buying or selling obligation, required to satisfy (selling) or accommodate (buying) transactions.
Orderbook
A record of outstanding orders on the Stellar network.
Passive order
An order that does not execute against a marketable counter order with the same price; filled only if the prices are not equal.
Pathfinding
The process of determining the best path of a payment, evaluating the current orderbooks, and finding the series of conversions to achieve the best rate.
Payment channel
Allows two parties who frequently transact with one another to move the bulk of their activity off-chain, while still recording opening balances and final settlement on-chain.
Price
The ratio of the quote asset and the base asset in an order.
Rate-limiting
Horizon rate limits on a per-IP-address basis. By default, a client is limited to 3,600 requests per hour, or one request per second on average.
Sequence number
Used to identify and verify the order of transactions with the source account.
Secret (private) key
The private key is part of a keypair, which is associated with an account. Do not share your secret key with anyone.
Signer
Refers to the master key or to any other signing keys added later. A signer is defined as the pair: public key + weight. Signers can be set with the Set Options operation.
See our Signature and Multisignature Encyclopedia Entry for more information.
Source account
The account that originates a transaction. This account also provides the fee and sequence number for the transaction.
Starlight
Stellar’s layer 2 protocol that allows for bi-directional payment channels.
Stellar
A decentralized, federated peer-to-peer network that allows people to send payments in any asset anywhere in the world instantaneously, and with minimal fees.
Stellar Consensus Protocol (SCP)
Provides a way to reach consensus without relying on a closed system to accurately record financial transactions.
Stellar Core
A replicated state machine that maintains a local copy of a cryptographic ledger and processes transactions against it, in consensus with a set of peers; also, the reference implementation for the peer-to-peer agent that manages the Stellar network.
Stellar.toml
A formatted configuration file containing published information about a node and an organization. For more, see the Stellar Info File spec (SEP-0001`)
Transaction
A group of 1 to 100 operations that modify the ledger state.
Read more in the Operations and Transactions section.
Transaction envelope
A wrapper for a transaction that carries signatures.
Transaction fee
Stellar requires a small fee for all transactions to prevent ledger spam and prioritize transactions during surge pricing.
Trustline
An explicit opt-in for an account to hold a particular asset that tracks liabilities, the balance of the asset, and can also limit the amount of an asset that an account can hold.
Learn more in our Accounts section.
Validator
A basic validator keeps track of the ledger and submits transactions for possible inclusion. It ensures reliable access to the network and sign-off on transactions. A full validator performs the functions of a basic validator, but also publishes a history archive containing snapshots of the ledger, including all network transactions and their results.
XLM (lumens)
The native currency of the Stellar network.
Wallet
An interface that gives a user access to an account stored on the ledger; that access is controlled by the account’s secret key. The wallet allows users to store and manage their assets.
XDR - External Data Representation format ( Binary )
https://developers.stellar.org/docs/encyclopedia/xdr
Stellar stores and communicates ledger data, transactions, results, history, and messages in a binary format called External Data Representation (XDR). XDR is optimized for network performance but not human readable. Horizon and the Stellar SDKs convert XDRs into friendlier formats.
XDR is specified in RFC 4506 and is similar to tools like Protocol Buffers or Thrift. XDR provides a few important features:
- It is very compact, so it can be transmitted quickly and stored with minimal disk space.
- Data encoded in XDR is reliably and predictably stored. Fields are always in the same order, which makes cryptographically signing and verifying XDR messages simple.
- XDR definitions include rich descriptions of data types and structures, which is not possible in simpler formats like JSON, TOML, or YAML.
Parsing XDR
Since XDR is a binary format and not as widely known as simpler formats like JSON, the Stellar SDKs all include tools for parsing XDR and will do so automatically when retrieving data.
In addition, the Horizon API server generally exposes the most important parts of the XDR data in JSON, so they are easier to parse if you are not using an SDK. The XDR data is still included (encoded as a base64 string) inside the JSON in case you need direct access to it. .X files
Data structures in XDR are specified in an interface definition file (IDL). The IDL files used for the Stellar Network are available on GitHub.
Stellar Federation Protocol - address users, accounts, orgs
https://developers.stellar.org/docs/encyclopedia/federation
The Stellar federation protocol maps Stellar addresses to an email-like identifier that provides more information about a given user. It’s a way for Stellar client software to resolve email-like addresses such as name*yourdomain.com
into account IDs like: GCCVPYFOHY7ZB7557JKENAX62LUAPLMGIWNZJAFV2MITK6T32V37KEJU
. Federated addresses provide an easy way for users to share payment details by using a syntax that interoperates across different domains and providers.
Federated addresses
Stellar federated addresses are divided into two parts separated by : the username and the domain. For example: `jedstellar.org:`
jed
is the usernamestellar.org
is the domain
Note that the @
symbol is allowed in the username. This means you can use email addresses in the username of a federated address. For example: maria@gmail.com*stellar.org
.
Transaction Base and Surge fees & management
https://developers.stellar.org/docs/encyclopedia/fees-surge-pricing-fee-strategies
API Security Standards for Stellar Net
https://developers.stellar.org/docs/encyclopedia/securing-web-based-projects
Step-by-step guide for Example
sample code block