General
- Blockchain
- a distributed database that maintains a continuously-growing list of records called blocks.
- A Next-Generation Smart Contract and Decentralized Application Platform
- How Bitcoin Works Under the Hood (July 14, 2013)
- Bynance Academy
- Learn blockchain and cryptocurrency on your schedule and completely free.
- Private blockchain
- On Public and Private Blockchains (August 7th, 2015)
- What are the best open source projects to study blockchain technology in terms of simplicity?
- What is the best programming language to learn if you want to work on the blockchain?
- Bitcoin mining the hard way: the algorithms, protocols, and bytes
- A 101 Noob Intro to Programming Smart Contracts on Ethereum (Oct 29, 2015)
- Blockchain as a Database (July 31, 2015)
- Cryptocurrency tumbler
- a service offered to mix potentially identifiable or 'tainted' cryptocurrency funds with others, so as to obscure the trail back to the fund's original source.
- State of the ÐApps
- Blockchain Use Case Failure: 43 Projects and Zero Impact (December 10, 2018)
- Blockchain Events and Conferences
Consensus Algorithm
Style | Description | Remarks |
---|---|---|
PoW | Deters denial of service attacks and other service abuses such as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer. | |
PoS | ||
DPoS | ||
PoS | ||
PoH |
PoW
- Proof-of-Work, Explained (JAN 17, 2018)
- Re: Bitcoin P2P e-cash paper (Satoshi Nakamoto Thu, 13 Nov 2008)
- The proof-of-work chain is a solution to the Byzantine Generals' Problem. I'll try to rephrase it in that context.
- Hashcash
- a proof-of-work system used to limit email spam and denial-of-service attacks
- A partial hash collision based postage scheme (1997, Adam Back)
- Reusable Proofs of Work (RPoW) (2007, Hal Finney)
- Ethash : PoW algorithm for Ethereum 1.0
- Hashimoto: I/O bound proof of work
- On Settlement Finality (May 9, 2016)
BFT (Byzantine Fault Tolerance)
- Byzantine fault
- The Byzantine Generals Problem
- The Byzantine Generals Problem (1982, paper by LESLIE LAMPORT, ROBERT SHOSTAK, and MARSHALL PEASE)
- Reaching Agreement in the Presence of Faults
- Reaching Agreement in the Presence of Faults (1980, paper by M. PEASE, R, SHOSTAK, AND L. LAMPORT)
- The Weak Byzantine Generals Problem
- Byzantine Agreement
- OM(m) is impractical since the message complexity is O(nm) for n nodes.
- SM(m) has message complexity 𝑂(𝑛2), but each node needs to send and verify O(n) signatures for every request
- Byzantine Fault Tolerance: The Key for Blockchains (JUN 29, 2017)
pBFT
- Practical Byzantine Fault Tolerance (1999, paper by Miguel Castro and Barbara Liskov)
- pBFT— Understanding the Consensus Algorithm (Nov 19, 2018)
- Total message count per client request : 1 + 3f + 3f(3f-f) + (3f-f+1)(3f+1) + 3f-1
- Consensus Series: PBFT (Nov 7, 2019)
- Implementing PBFT in Blockchain (Aug 5, 2019)
ZKP
misc
- Paxos : a family of protocols for solving consensus in a network of unreliable processors
- Tendermint: Consensus without Mining (2014)
- IBFT(Istanbul Byzantine Fault Tolerance)
- Clique PoA protocol
- The Raft Consensus Algorithm
- State machine replication
- Lower Bounds for Asynchronous Consensus (2004, paper by Leslie Lamport)
Fault Type | Cryptography | Replica Requirement |
---|---|---|
Non Byzantine Failures | Non Cryptographic | 2F + 1 |
Non-malicious Byzantine Failures | Non Cryptographic | 2F + 1 |
Malicious Byzantine Failures | Non Cryptographic | 3F + 1 |
Malicious Byzantine Failures | Cryptographic | 2F + 1 |
- ETC 51 % attack – what happened and how it was stopped (14 Jan 2019)
- Bitcoin Gold Blockchain Hit by 51% Attack Leading to $70K Double Spend (JAN 27, 2020)
- Nothing At Stake Problem – A Forkin’ Mess! (July 27, 2018)
- Understanding Proof of Stake: The Nothing at Stake Theory (Jun 8, 2018)
- What exactly is the Nothing-At-Stake problem? (Mar 29 '16)
Blockchain Networks
Network | Symbol | Consensus Style | Description | Remarks |
---|---|---|---|---|
BitCoin | BTC | PoW | ||
Ethereum | ETH | PoW | ||
EOS | EOS | DPoS |
Blockchain Platforms
Smart Contract
- Smart Contract (on Wikipedia)
Blockchain | Language | Remark |
---|---|---|
Ethereum | Solidity | |
EOSIO | C++ |
Key and Wallet
- Cryptocurrency wallet
- Deterministic Wallets, Their Advantages and their Understated Flaws (November 26, 2013, Vitalik Buterin)
- Shamir's Secret Sharing
- a form of secret sharing, where a secret is divided into parts, giving each participant its own unique part.
Financial Business
- >> On Finance
Misc
- Digital wallet
- Understanding Digital Wallets (8/25/2017)
- Apple Pay security and privacy overview (October 18, 2019)
- What is a Secure Element? (April 18, 2018)
- Mobile Payment Systems: How Android Pay Works (August 01, 2015)
Performance
- The Blockchain Scalability Problem & the Race for Visa-Like Transaction Speed (Jan 31, 2019)
- FastFabric: Scaling Hyperledger Fabric to 20,000 Transactions per Second (4 Mar 2019)
Bitcoin
- Bitcoin Developer Guide
- Mastering Bitcoin (O'reilly, Andreas M. Antonopoulos)
- Bitcoin Wiki
- Best Bitcoin Mining Software (November 12, 2021)
- CGMiner, BFGMiner, MultiMiner
- What are transaction fees and why do I need to pay them?
- In the case of Bitcoin transactions, the reward for miners consists of two things: all transaction fees in the block that the miner validated and the additional incentive of a specific block reward of newly minted coins in the process.
- Reward = Incentive + Fee
- What is inflation?
- But because the amount of new bitcoin is automatically reduced by 50 percent every four years, Bitcoin’s inflation rate will also decrease.
- Controlled supply
Concepts
- Proof of work
- The Proof-of-Work Concept (June 24, 2013)
- Bitcoin mining the hard way: the algorithms, protocols, and bytes
- Orphan Block (Dec 19, 2019)
- How Bitcoin Fees Work
- Transaction fees are based on the data volume of a transaction and the congestion of the network.
BIP
BIP | Title | Description | Type | Status | Remarks | Related |
---|---|---|---|---|---|---|
BIP-32 | Hierarchical Deterministic Wallets | Describes hierarchical deterministic wallets (or "HD Wallets") | Informational | Final | ||
BIP-39 | Mnemonic code for generating deterministic keys | Describes the implementation of a mnemonic code or mnemonic sentence -- a group of easy to remember words -- for the generation of deterministic wallets. | Standards Track | Proposed | ||
BIP-43 | Purpose Field for Deterministic Wallets | Introduces a "Purpose Field" for use in deterministic wallets based on algorithm described in BIP-0032 | Informational | Draft | m/purpose'/* | BIP 32 |
BIP-44 | Multi-Account Hierarchy for Deterministic Wallets | Defines a logical hierarchy for deterministic wallets based on an algorithm described in BIP-0032 | Standards Track | Proposed | m/44'/*'/*'/*/* | BIP 32, BIP 43, SLIP-0044 |
SLIP
- SLIP (SatoshiLabs Improvement Proposals)
- an extension to BIP process containing documents unsuitable for submission to BIP repository.
HD Wallet
- Mnemonic Code Converter
- So you want to build an Ethereum HD wallet? (Mar 15, 2018)
- How to Avoid Invalid Mnemonic Phrase Error While Importing with Mnemonic Phrase (Sep '19)
Format | Purpose | Description | Remarks |
---|---|---|---|
m/0'/* | Default Account | ||
m/44'/coin_type'/*'/*/* | Multi-Account | m/44'/0': BTC, m/44'/60': ETH, m/44'/61': ETC |
BIP 32
private parent key → private child key | : possible |
public parent key → public child key | : possible |
private parent key → public child key | : possible |
public parent key → private child key | : impossible |
- Each leaf node in the tree corresponds to an actual key, while the internal nodes correspond to the collections of keys that descend from them.
- The chain codes of the leaf nodes are ignored, and only their embedded private or public key is relevant.
- Knowing an extended private key allows reconstruction of all descendant private keys and public keys.
- Knowing an extended public keys allows reconstruction of all descendant non-hardened public keys.
256 bit entropy | ||
private key | ||
public key | ||
extended private key | ||
extended public key | ||
private child key derivation(CKD) function | ||
public child key derivation(CKD) function | ||
computes extended public key | ||
private key node | m : master extended private key | |
public key node | M : master extended public key | |
Serialization Format
Position | Value | Remarks |
---|---|---|
4 bytes | version bytes |
|
1 bytes | depth |
|
4 bytes | the fingerprint of the parent's key | master key: 0x00000000 |
4 bytes | child number | |
32 bytes | chain code | 256 bit |
33 bytes | the public key or private key data |
Statistics
Topic | Chart/Table | Remarks | Avg. Block Time | https://bitinfocharts.com/comparison/bitcoin-confirmationtime.html |
---|
- BTC.com / Bitcoin Explorer
- Bitcoin (BTC) price stats and information
- Bitcoin Explorer
- Bitnodes : estimate the size of the Bitcoin network by finding all the reachable nodes in the network
Ethereum
- >> On Ethereum
Substrate
- https://github.com/paritytech/substrate
- Desc. : a next-generation framework for blockchain innovation
- What is Substrate? (July 09, 2018)
Ripple
- https://ripple.com/
- Desc. : a network of computers which use the Ripple consensus algorithm to atomically settle and record transactions on a secure distributed database
- License : ISC license
- Written in : C++
- Sources : https://github.com/ripple
- RPM packages :
References
- Ripple Developer Center
- Ripple Wiki
- Ripple Concepts
- rippled API Reference
- RippleAPI Reference : the official client library to the XRP Ledger
- Ripple Data API : provides access to information about changes in the XRP Ledger, including transaction history and processed analytical data
rippled-example.cfg
rippled API
Category | API | Methods | Description | Remarks |
---|---|---|---|---|
Public | subscribe | WebSocket | requests periodic notifications from the server when certain events happen | Ledger Stream, Validations Stream, Transaction Streams, Peer Status Stream, Order Book Streams |
Admin | ledger_request | WebSocket, Commandline | tells server to fetch a specific ledger version from its connected peers |
Consensus
Round Start --------------- Close -------------------- Consensus -------------------- Round End
Open phase Establish phase Accept phase
- The XRP Ledger Consensus Process
- Consensus
- Concensus
- Through the consensus process, validating nodes agree on a specific subset of the candidate transactions to be considered for the next ledger
- Consensus is an iterative process in which nodes relay proposals, or sets of candidate transactions.
- Nodes communicate and update proposals until a supermajority 5 of peers agree on the same set of candidate transactions.
- Validation
- The validating nodes calculate a new version of the ledger and relay their results to the network, each sending a signed hash of the ledger it calculated based on the candidate transactions proposed during consensus.
- In cases where a node is in the minority, having computed a ledger that differs from its peers, the node disregards the ledger it computed 9. It recomputes the correct ledger, or retrieves the correct ledger as needed.
- Concensus
rippled
Server States
+--> full
|
disconnected ---> connected ---> syncing ---> tracking --|
|
+--> validating <-----> proposing
Transaction
- Reliable Transaction Submission
- Best Practices
- Your rippled server should automatically acquire the missing ledger versions when it has spare resources (CPU/RAM/disk IO) to do so, unless the ledgers are older than its configured amount of history to store. Depending on the size of the gap and the resource usage of your server, acquiring missing ledgers should take a few minutes. You can also manually request your server to acquire historical ledger versions using the ledger_request method.
- Use the LastLedgerSequence parameter to prevent undesirable cases where a transaction is not confirmed promptly but could be included in a future ledger. You should specify the LastLedgerSequence parameter on every transaction. Automated processes should use a value of 4 greater than the last validated ledger index to make sure that a transaction is validated or rejected in a predictable and prompt way.
Ledger
- Ledgers
Ledger = Header + Transaction Tree + State Tree (Ledger Objects)
- At any given time, a rippled instance has an in-progress "current" open ledger, plus some number of closed ledgers that have not yet been approved by consensus, and any number of historical ledgers that have been validated by consensus.
- Only the validated ledgers are certain to be correct and immutable.
- Ledger Data Formats
boolean ledger.closed
boolean ledger.accepted
- Ledger Header
- Two ledgers with the same hash are always the same.
- For validated ledgers, hash values and sequence numbers are equally valid and correlate 1:1.
- Two different rippled servers may have different contents for a current ledger with the same ledger index, due to latency in propagating transactions throughout the network.
- There may be multiple closed ledger versions competing to be validated by consensus. These ledger versions have the same sequence number but different contents (and different hashes). Only one of these closed ledgers can become validated.
- A current ledger's contents change over time, which would cause its hash to change, even though its ledger index number stays the same. The hash of a ledger is not calculated until the ledger is closed.
Amendments
Readings
Troubleshooting
Sources
Component | Type | Description | Remarks |
---|---|---|---|
SHAMapStoreImp.h, SHAMapStoreImp.cpp | class | ||
Setup | struct | deleteInterval, advisoryDelete, ledgerHistory, databasePath, deleteBatch, backOff, ageThreshold | |
Config.h | class |
Stellar
- https://www.stellar.org/
- Desc. : Stellar is a platform that connects banks, payments systems, and people. Integrate to move money quickly, reliably, and at almost no cost.
- License :
- Sources : https://github.com/stellar
Solana
- https://solana.com/
- Desc. :
References
A Solana cluster is capable of subsecond confirmation for up to 150 nodes with plans to scale up to hundreds of thousands of nodes. Once fully implemented, confirmation times are expected to increase only with the logarithm of the number of validators, where the logarithm's base is very high.
A Solana cluster uses a multi-layer block propagation mechanism called Turbine to broadcast transaction shreds to all nodes with minimal amount of duplicate messages.
Transaction
Field | Description | Remarks |
---|---|---|
signatures | List of signatures. | |
accounts | List of accounts (read-only / read-write) | |
recentBlockhash | Blockhash of recently produced block used as nonce. | |
instructions | List of instructions which each call an on-chain program. |
Smart Contract
Client Programming
Hyperledger
Hyperledger Fabric
- https://github.com/hyperledger/fabric
- Desc. : an implementation of blockchain technology, leveraging familiar and proven technologies.
- License : Apache License Version 2.0
- Written in : Go
- Docker repository : https://hub.docker.com/u/hyperledger/
- Docker images : https://github.com/hyperledger/fabric/tree/master/images
- Projects
- hyperledger/fabric
- hyperledger/fabric-docs
- hyperledger/fabric-samples
- hyperledger/fabric-chaincode-java
- hyperledger/fabric-chaincode-node
- hyperledger/fabric-chaintool
- hyperledger/fabric-sdk-rest
- hyperledger/fabric-sdk-node
- hyperledger/fabric-sdk-java
- hyperledger/fabric-sdk-py
- hyperledger/fabric-sdk-go
Readings
- References
- Concepts
- Channels
- Channel = Organizations + Ordering Service + Anchor Peers + Chaincodes + Ledger
- At least one anchor peer per organization
- Channels
- Setup
- Chaincode
- misc
Examples
- CLI based End-to-End Flow
- 1 Orderer, 3 Peer, 1 CLI
configtx.yaml
docker-compose.yaml
docker-compose-no-tls.yaml
script.sh
: called by yaml file
Demos
Sources
fabric/core/ledger/util/couchdb/couchdb.go
fabric/core/chaincode/shim/interfaces.go
fabric/core/ledger/ledgerconfig/ledger_config.go
Issues
- FAB-6092 : Gossip error: PKIID wasn't found (10/Sep/17)
- FAB-6421 : Performance and scale improvements for 1.1 (03/Oct/17)
Docker Images
fabric-peer
Config which is printed by "docker inspect --format='{{json .Config}}' ...
" is
"Config": {
"Hostname": "e7eddde82bec",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PEER_CFG_PATH=/etc/hyperledger/fabric",
"CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/msp/sampleconfig"
],
"Cmd": [
"peer",
"node",
"start"
],
"ArgsEscaped": true,
"Image": "sha256:793719e9dd193f580f32c5984ac47a8c0f986819e4795c039703b26bb6ad15ce",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": [],
"Labels": {
"org.hyperledger.fabric.base.version": "0.3.0",
"org.hyperledger.fabric.version": "1.0.0-alpha"
}
},
Fabric CA
Fabric SDK for Node.js
- Sources :
- Features
- create channels
- ask peer nodes to join the channel
- install chaincodes in peers
- instantiate chaincodes in a channel
- invoke transactions by calling the chaincode
- query the ledger for transactions or blocks
- Examples
- Balance transfer example
Performance Tuning
- JBOD or RAID
- LVM (Logical Volume Manager)
- Filesystem Journaling
- ulimit, open files
noatime
vm.swappiness
- Swappiness
- RHEL 6 Tuning Virtual Memory
- A low swappiness value is recommended for database workloads.
- Swap Space and Kernel Swappiness
- How do I configure swappiness? (Ask Ubuntu)
- Disk I/O Scheduler
- Noop for SSD
- Linux I/O Scheduler Comparison On The Linux 3.4 Desktop(11 May 2012)
- Selecting a Linux I/O Scheduler
- Linux Change The I/O Scheduler For A Hard Disk
- SSD benchmark of I/O schedulers (April 28th, 2010)
- Docker OverlayFS storage driver
Companions
PTE
- https://github.com/dongmingh/v1performance
- Desc. : Performance Traffic Engine
R3 Corda
- https://www.corda.net/
- Desc. : The open source blockchain for business
- License : Apache License, Version 2.0
- Written in : Kotlin
- Sources : https://github.com/corda/corda
Concepts
Concept | Description | Remarks |
---|---|---|
State Object | a digital document which records the existence, content and current state of an agreement between two or more parties | |
Ledger | a set of immutable state objects | |
Consensus | pure function whose responsibility is either to accept or reject a proposed transaction and which can be composed from simpler, reusable functions | |
Transaction | Consume existing state objects and produce new state objects | Transaction Validity, Transaction Uniqueness |
Smart Contract | ||
Uniqueness and Timestamping Services | ||
Flow Framework |
State Object ----+----> Contract Code
+----> Legal Prose
Features
- All communication between nodes is direct, with TLS-encrypted messages sent over AMQP/1.0
References
- Setup and run cordapp-example project
- The example CorDapp (https://github.com/corda/cordapp-example)
- The Corda Platform: An Introduction (May, 2018)
- Technical White Paper (Version 0.5, November 29, 2016)
- End-State Principles
Principle | Description | Remarks |
---|---|---|
Inclusion | Parties are able to discover each other freely, and transact directly, in a single, open network | |
Assured identity | Parties will have assurance over the identity of participants in the network | |
Privacy | The only parties who have access to the details of a transaction are those who participate in the transaction and those who need to assure themselves of transaction provenance. | |
Shared logic | The behavior of agreements managed by the system will be described in computer code that is shared to ensure onsistency and validity of agreements | |
Legal footing | Deals recorded by the ledger are, by contract, accepted as admissible evidence and legally binding by all parties in any dispute | |
Authoritative | Facts recorded by the ledger are regarded as authoritative rather than “shadows” of authoritative data held elsewhere | |
Immutability | Facts recorded on the ledger are final and immutable; errors and unwinds must be processed through a subsequent transaction | |
Open | The system is open: open source, participation, development, governance and standards to ensure the platform balances the needs of its diverse user-base in a transparent fashion |
Readings
- Building Blocks of the State Machine Approach to Consensus (Jun 20, 2016)
- Closed Seal Sets and Truth Lists for Better Privacy and Censorship Resistance (Jun 22, 2016)
Terra
- https://www.terra.money/
- Desc. :
- Sources : https://github.com/terra-project
- Announcing TerraUSD (UST)— the Interchain Stablecoin (Sep 22, 2020)
Eris
- https://monax.io/
- Desc. : an open platform for developers and devops to build, ship, and run blockchain-based applications for business ecosystems.
- License : https://monax.io/library/#licensing
- Sources : https://github.com/eris-ltd
References
- Eris official documentation
- Eris Getting Started
- Building Your First Blockchain App with Eris (August 24, 2016)
- Eris Command Line Interface
- Eris DB Web APIs
- Jobs Specification
- Variables Specification
Readings
- Using Docker Machine With Eris
- On Eris and Tendermint: Application and Consensus (2016/03/02)
- Cannot deploy smart contract with Eris / Monax
- Could not perform pkg action service: Could not perform pkg action: Docker: {"mssage":"Cannot link to a non running container: /simplechain
- The Blockchain Explained to Web Developers, Part 1: The Theory (2016/04/28)
- The Blockchain Explained to Web Developers, Part 2: In Practice (2016/05/20)
- The Blockchain Explained to Web Developers, Part 3: The Truth (2016/06/14)
- Eris and Ethereum - Decentralized computing on a blockchain (May 20, 2015)
Tendermint Core
- https://tendermint.com/
- Desc. : Byzantine fault-tolerant replicated state machines in any programming language
- License : Apache-2.0
- Written in : Go
- Sources : https://github.com/tendermint/tendermint
Readings
- Documentation
- The latest gossip on BFT consensus (paper, September 24, 2018)
- Resources
- Consensus Protocols: Tendermint and pBFT (21 JULY 2018)
- Tendermint Explained — Bringing BFT-based PoS to the Public Blockchain Domain (May 11, 2018)
- What is the difference between PBFT, Tendermint, SBFT and HotStuff ? (June 23, 2019)
IPFS
- https://ipfs.io/
- Desc. : A peer-to-peer hypermedia protocol to make the web faster, safer, and more open
- Address IPFS on the Web
- An Introduction to IPFS (SEPTEMBER 17, 2020)
- Awesome IPFS
IPFS Client
Category | Library | Description | Documentation | Remarks |
---|---|---|---|---|
Go | Go Embedded Client(go-ipfs-api )
|
The go interface to ipfs's HTTP API | go-ipfs-api API | |
Go HTTP Client(go-ipfs-http-api )
|
IPFS CoreAPI implementation using HTTP API] | go-ipfs-http-api API | experimental | |
JavaScript | JS-IPFS HTTP Client | The JavaScript HTTP RPC API client library for IPFS implementations. | ||
Java | Java IPFS HTTP Client(java-ipfs-http-client )
|
A Java client for the IPFS http api |
- Managing storage in a Java application with IPFS (2019-08-14)
IPFS Gateway
- IPFS Gateway List
- IPFS HTTP Gateways ranked by performance
- Comparing IPFS Pinning Services Pricing/Functionality. Temporal, Eternum & Pinata (Nov 11, 2019)
Provider | Service | Description | Documentation | Remarks |
---|---|---|---|---|
Cloudflare | Cloudflare IPFS Gateway | Cloudflare's read-only Distributed Web Gateway lets you access content stored on the IPFS quickly and easily, without downloading any special software or giving up any storage space on your computer. | IPFS Gateway | |
Pinata | Pinata Dedicated Gateways | Get even faster speed with your own IPFS dedicated server. | $20/Month |
NFT
- OpenSea (NFT Marketplace)
- NonFungible : The world's largest NFT data resource
- NFTs, explained (Mar 11, 2021)
- Everydays: The First 5000 Days - Will Gompertz reviews Beeple's digital work
- Beeple sold an NFT for $69 million (Mar 11, 2021)
Assets
Asset | Creator | Description | Contract | Marketplace | Highest Price | Remark |
---|---|---|---|---|---|---|
EVERYDAYS: THE FIRST 5000 DAYS | Beeple | MKT2 Token | MakersPlace | $69M ('21.3.11) | Digital Artwork (JPG, 21,069 x 21,069) | |
Stay Free | Edward Snowden | FNDNFT Token | Foundation | 2,224.00 ETH ('21.4.16) | Digital Artwork (PNG, IPFS) | |
x*y=k | pplpleasr | FNDNFT Token | Foundation | Digital Artwork (MP4) | ||
Doge | Atsuko Sato | The original image that started it all | ZORA | Zora | Digital Photo |
Contracts
Player | Description | Contract Source | Contract Address | Documentation | Remarks |
---|---|---|---|---|---|
CryptoPunks | 10,000 unique collectible characters with proof of ownership stored on the Ethereum blockchain. | CryptoPunksMarket.sol | CryptoPunksMarket | ||
Rarible | MintableToken (May-27-2020) | ||||
SuperRare | Collect SuperRare Digital Artworks | SuperRareV2 (Sep-05-2019) | |||
Nifty Gateway | the premier marketplace for Nifties, which are digital items you can truly own. | ||||
Decentraland | a decentralized virtual reality platform powered by the Ethereum blockchain. | Land Contracts | LANDProxy
|
Decentraland documentation |
Rariable Contracts
Marketplaces
Marketplace | Service Type | Contents Type | Collections | Networks | Sources | API | Remarks |
---|---|---|---|---|---|---|---|
OpenSea | Open Marketplace | CryptoPunks, The Sandbox, Decentraland. SuperRare, Rarible, PolygonPunks, KlayFox | Ethereum, Polygon, Klaytn | OpenSea Explorer | |||
Rarible | Open Marketplace | parallel, The Sandbox, Rarible, Decentraland | Rarible Top Collections | ||||
Nifty Gateway | Curated Marketplace | Digital Art | Ethereum | Nifty Gateway Public API | |||
SuperRare | Curated Marketplace | Digital Art | Ethereum | ||||
Foundation | Curated Marketplace | Digital Art | Ethereum | ||||
NBA Top Shot | Curated Marketplace | Sports | Flow (PoS) | ||||
Axie Infinity | Curated Marketplace | Game | Ethereum | ||||
Decentraland | Curated Marketplace | Metaverse | Ethereum | ||||
The Sandbox | Curated Marketplace | Metaverse | Ethereum |
- 10 Top NFT Marketplaces (Nov 2, 2021)
- OpenSea, Axie Infinity, CryptoPunks, NBA Top Shot, Rarible, SuperRare, Foundation, Nifty Gateway, Mintable, Theta Drop
- Top 10 NFT Marketplaces
- Open Marketpalces : OpenSea, Rarible,
- Curated Marketpalce : Foundation, SuperRare, Nifty Gateway,
- Collectibles Marketplace : CryptoPunks, NBA Top Shot, Ether Cards
- Games Marketplaces : Axie Infinity, Decentraland,
- What is the biggest NFT marketplace? A top 10 comparison (Oct 29th, 2021)
- OpenSea, Axie Infinity, NBA Top Shot, Rarible, SuperRare, Sorare, Foundation, Aavegotchi, Decentraland, Hic et Nunc
- The 8 Best NFT Marketplaces to Explore Right Now (September 21, 2021)
- OpenSea, SuperRare, Foundation, Rarible, NiftyGateway, KnownOrigin, AsyncArt, Hic Et Nunc
- Whitelabel NFT Marketplace Development - All You Need To Know About This Innovative Platform (04 September 2021)
- Media format/size support
Marketplace | Supported Type | Max Size | Remarks |
---|---|---|---|
OpenSea | JPG, PNG, GIF, SVG, MP4, WEBM, WAV, OGG, GLTF, GLB | 100MB | |
Rarible | JPG, PNG, GIF, WEBP, MP4, MP3 | 30MB | |
Foundation | JPG, GIF, SVG, PNG, MP4, GLTF | 50MB |
Decentraland
The finite, traversable, 3D virtual space within Decentraland is called LAND, a non-fungible digital asset maintained in an Ethereum smart contract. Land is divided into parcels that are identified by cartesian coordinates (x,y). These parcels are permanently owned by members of the community and are purchased using MANA, Decentraland’s cryptocurrency token. This gives users full control over the environments and applications that they create, which can range from anything like static 3D scenes to more interactive applications or games.
Some parcels are further organized into themed communities, or Districts. By organizing parcels into Districts, the community can create shared spaces with common interests and uses. You can find a list of the original District Proposals on GitHub. The content that makes up Decentraland is stored and distributed via a decentralized network while ownership and transactions are validated on the Ethereum blockchain.
Decentraland is partnering with Matic to create a sidechain (a special kind of blockchain) that will be able to handle transactions faster and cheaper than the main Ethereum network. This sidechain will be ideal for in-game transactions, as changes can occur closer to real time and at a very low cost. For transactions that involve valuable items, we’ll still recommend the main Ethereum chain, as it will be more secure.
- Decentraland shows the potential of blockchain and VR combined (December 15, 2017)
Cryptovoxels
Tool | Description | Remarks |
---|---|---|
Cryptovoxel Generator | Chrome app to help easily manage your land parcels. | |
Cryptovoxels land sales map | Highlights all parcels for sale, plotted on the map. | |
MagicaVoxel | A free lightweight GPU-based voxel art editor and interactive path tracing renderer. | |
Babylon.js | a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework. |
- Smart Contracts
Contract | Description | Source | Address | Remarks |
---|---|---|---|---|
Parcel | Parcel.sol | 0x79986af15539de2db9a5086382daeda917a9cf0c(Jun-05-2018) | ||
Wearables | 0xa58b5224e2fd94020cb2837231b2b0e4247301a6(Oct-29-2019) |
Axie Infinity
STO
- Category: Security Token Offerings (STO’s)
- 4 Tokenized security platforms to watch: Polymath, Ravencoin, Neufund and Cybermiles (Jul 31, 2018)
- Regulation of virtual asset trading platforms (Hongkong Securities and Futures Commission)
- Offer and acceptance
- ABA routing transit number
- Routing number (ABA)
- Routing Number vs. Account Number: What's the Difference? (Jun 25, 2019)
KYC/AML
- KYC: 3 Steps to Know Your Customer (MARCH 20, 2019)
- Anti-Money Laundering/Combating the Financing of Terrorism (AML/CFT) (IMF)
- What is a Proof of Address and how can you get one?
- What is a Proof of Residence?
- Top 10 KYC & AML Service Providers (Aug 17, 2018)
Polymath
- https://polymath.network/
- Desc. : enables trillions of dollars of securities to migrate to the blockchain.
CoFi OS
- https://github.com/ConsenSys/ERC1400
- Desc. : an advanced institutional technology platform for issuing and exchanging tokenized financial assets, powered by the Ethereum blockchain.
Polymesh
- https://polymesh.network/
- Desc. : an institutional-grade permissioned blockchain built specifically for regulated assets.
De-Fi
- DeFi Pulse : a site where you can find the latest analytics and rankings of DeFi protocols.
- DeFi Deep Dive – What is Aave? (Aug 03, 2020)
- DeFi Deep Dive – What is Curve Finance? (Jul 23, 2020)
- DeFi Deep Dive – What Is Yield Farming? (Aug 11, 2020)
MakerDAO
- Sources
- https://github.com/makerdao/dss : Dai Stablecoin System - the core smart contract code for Multi Collateral Dai
- The Dai Stablecoin System Whitepaper
- MakerDAO Official Documentation
- DAI 1.0 Developer Documentation
DAI
- DAI
- Decentralized Stable Coin
- Backed by Ether
- Dai
- First, Dai can be used as a stable coin
- The second use of Dai is margin trading
- Dai (DAI)
- What is Dai and how does it work? (May 9, 2019)
Compound
- Sources
- https://github.com/compound-finance/compound-protocol : The Compound Protocol is an Ethereum smart contract for supplying or borrowing assets.
- Creating a RESTful API for Compound Finance Smart Contracts (August 16, 2020)
Synthetix
- Desc: a crypto-backed synthetic asset platform.
- Sources : https://github.com/Synthetixio/synthetix
Mirror Protocol
- https://mirror.finance/
- Desc. : Allows the creation of fungible assets, “synthetics”, that track the price of real world assets.
- Sources : https://github.com/Mirror-Protocol
Synthetic tokens are tokens that provide "synthetic" exposure to the physical or abstract good that they represent without requiring one-to-one backing.
Synthetic tokens tend to be more affordable to hold as they typically charge no holding fee.
Mirror is a protocol that allows anyone to issue and trade synthetic assets that track the price of real world assets.
Anyone can mint an mAsset by locking up collateral, either in the form of as stablecoin or a different mAsset.
The Mirror protocol creates incentives for minters to mint assets and provide liquidity for traders.
The Mirror protocol utilizes AMMs to facilitate mAsset, trading against stablecoins.
When the collateral ratio drops below the minimum, the Mirror protocol needs a way to retrieve and burn the respective mAssets. It does so by seizing a portion of the collateral and initiating an auction at a discount for anyone willing to sell the mAsset in exchange.
Resource/Tool | Description | Remarks |
---|---|---|
Mirror Whitepaper | ||
Mirror Documentation | ||
Mirror Smart Contract | implementing Mirror Protocol on the Terra blockchain | Mint, Factory, Gov |
Mirror.js | a client SDK for building applications that can interact with Mirror Protocol from within JavaScript runtimes | |
mirrorcli | Command-line interface for Mirror Protocol on Terra | |
Mirror API | an GraphQL-based data service that allows anybody to query data regarding the current and aggregate application state of the Mirror Protocol |
Anchor Protocol
- https://anchorprotocol.com/
- Desc. : a savings protocol offering low-volatile yields on Terra stablecoin deposits.
- Sources : https://github.com/Anchor-Protocol
The Anchor rate is powered by a diversified stream of staking rewards from major proof-of-stake blockchains, and therefore can be expected to be much more stable than money market interest rates.
The Anchor protocol defines a money market between a lender, looking to earn stable yields on their stablecoins, and a borrower, looking to borrow stablecoins on stakeable assets.
Resource/Tool | Description | Remarks |
---|---|---|
Anchor Documentation | ||
Anchor Money Market Contracts | implementing Anchor Protocol on the Terra blockchain. | Rust |
Anchor Bonded Asset Contracts | implementing bAsset(Bonded Asset) Protocol on the Terra blockchain. | |
Anchor.js | a client SDK for building applications that can interact with Anchor Protocol from within JavaScript runtimes |
DID
Concept | Description | Remarks |
---|---|---|
Holder | A role an entity might perform by possessing one or more verifiable credentials and generating verifiable presentations from them. | students, employees, customers |
Issuer | A role an entity performs by asserting claims about one or more subjects, creating a verifiable credential from these claims, and transmitting the verifiable credential to a holder. | corporations, trade associations, governments |
Verifier | A role an entity performs by receiving one or more verifiable credentials, optionally inside a verifiable presentation, for processing. | |
Subject | An entity about which claims are made. In many cases the holder of a verifiable credential is the subject, but in certain cases it is not. | human beings, animals, things |
Claim | An assertion made about a subject. | |
Credential | A set of one or more claims made by an issuer. | |
Verifiable Credential | a tamper-evident credential that has authorship that can be cryptographically verified. |
Metaverse
- What is Metaverse in The Context of Cryptocurrency (March 31, 2021)