FANDOM


General

Smart Contract

RAFT

Bitcoin

Ethereum

  • Ethereum Improvement Proposals (EIPs)
    • standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards
  • ERC
    • Application-level standards and conventions
API Description Reamrks
web3.eth.getTransactionReceipt Returns the receipt of a transaction by transaction hash.
web3.eth.blockNumber Returns the current block number.
web3.eth.getBlock Returns a block matching the block number or block hash
web3.eth.accounts Returns a list of accounts the node controls
web3.eth.getBalance Get the balance of an address at a given block
network component site remarks
Rinkeby homepage https://www.rinkeby.io/
faucet https://faucet.rinkeby.io/
explorer https://www.rinkeby.io/#explorer
Kovan homepage https://kovan-testnet.github.io/website/
faucet
explorer https://kovan.etherscan.io/

Go Ethereum

Ethereumj

Parity

Solidity

References

Readings

Grammar
Tools
misc

Libraries

Examples

Collections

  • awesome-solidity : A curated list of awesome Solidity resources, libraries, tools and more

solc-js

web3j

  • APIs and Classes
                                               extends
                                            +------------ Ethereum
  JsonRpc2_0Web3j ---------------- Web3j ---|
                     implements             +------------ Web3jRx
                                               extends
Class Source API Remark
public class HttpService extends Service HttpService.java HTTP implementation of our services API
org.web3j.protocol.Service Service.java Base service implementation
public class JsonRpc2_0Web3j implements Web3j JsonRpc2_0Web3j.java JSON-RPC 2.0 factory implementation
interface org.web3j.protocol.Web3j Web3j.java extends Ethereum, Web3jRx
interface org.web3j.protocol.core.Ethereum Ethereum.java JSON-RPC methods
interface org.web3j.protocol.rx.Web3jRx Web3jRx.java
interface org.web3j.quorum.Quorum Quorum.java extends Web3j
org.web3j.tx.Contract Contract.java
org.web3j.protocol.core.RemoteCall<T> RemoteCall.java
org.web3j.protocol.core.methods.request.Transaction Transaction.java
abstract org.web3j.abi.TypeReference<T extends org.web3j.abi.datatypes.Type> TypeReference.java
org.web3j.abi.datatypes.Function Function.java

Truffle

  • Examples

Zeppelin Solidity

Embark

Mist Browser

Ganache CLI

Remix IDE

  • https://github.com/ethereum/remix-ide
  • Desc. : a browser-based compiler and IDE that enables users to build Ethereum contracts with Solidity language and to debug transactions
  • License : MIT License

Oraclize

  • http://www.oraclize.it/
  • Desc. : the leading oracle service for smart contracts and blockchain applications, serving thousands of requests for day every day on Ethereum, Bitcoin and Rootstock.
  • License :

Quorum

Ripple

References

Readings

Hyperledger

Hyperledger Fabric

Readings

  • Concepts
    • Channels
      • Channel = Organizations + Ordering Service + Anchor Peers + Chaincodes + Ledger
      • At least one anchor peer per organization

Examples

Demos

Sources

  • fabric/core/ledger/ledgerconfig/ledger_config.go

Issues

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

Network Setup

Setup and launch Fabric CA server
  1. Install Go 1.7+
  2. Set GOPATH
  3. Install libtool and libtdhl-dev
    • # sudo apt install libtool libltdl-dev
  4. Install fabric-ca-server and fabric-ca-client

Performance Tuning

  • LVM (Logical Volume Manager)

Companions

PTE

Eris

Tendermint

  • https://tendermint.com/
  • Desc. : Byzantine fault-tolerant replicated state machines in any programming language
  • License : ?

IPFS

  • https://ipfs.io/
  • Desc. : A peer-to-peer hypermedia protocol to make the web faster, safer, and more open