MCPcopy
hub / github.com/yjjnls/awesome-blockchain

github.com/yjjnls/awesome-blockchain @v0.3.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.3.0 ↗
123 symbols 252 edges 21 files 0 documented · 0%
README

Awesome Blockchain

Awesome

Curated list of resources for the development and applications of block chain.

The blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value (by Don Tapscott).

This is not a simple collection of Internet resources, but verified and organized data ensuring it's really suitable for your learning process and useful for your development and application.

Contents

Click to expand

Frequently Asked Questions (F.A.Q.s) & Answers

Q: What's a Blockchain?

A: A blockchain is a distributed database with a list (that is, chain) of records (that is, blocks) linked and secured by digital fingerprints (that is, crypto hashes). Example from blockchain.rb:

[#<Block:0x1eed2a0
    @timestamp     = 1637-09-15 20:52:38,
    @data          = "Genesis",
    @previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
    @hash          = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
    #<Block:0x1eec9a0
    @timestamp     = 1637-09-15 21:02:38,
    @data          = "Transaction Data...",
    @previous_hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b",
    @hash          = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743">,
    #<Block:0x1eec838
    @timestamp     = 1637-09-15 21:12:38,
    @data          = "Transaction Data......",
    @previous_hash = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743",
    @hash          = "be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4">,
    ...

Q: What's a Hash? What's a (One-Way) Crypto(graphic) Hash Digest Checksum?

A: A hash e.g. eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743 is a small digest checksum calculated with a one-way crypto(graphic) hash digest checksum function e.g. SHA256 (Secure Hash Algorithm 256 Bits) from the data. Example from blockchain.rb:

def calc_hash
  sha = Digest::SHA256.new
  sha.update( @timestamp.to_s + @previous_hash + @data )
  sha.hexdigest   ## returns "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743"
end

A blockchain uses

  • the block timestamp (e.g. 1637-09-15 20:52:38) and
  • the hash from the previous block (e.g. edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b) and finally
  • the block data (e.g. Transaction Data...)

to calculate the new hash digest checksum, that is, the hash e.g. be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4.

Q: What's a Merkle Tree?

A: A Merkle tree is a hash tree named after Ralph Merkle who patented the concept in 1979 (the patent expired in 2002). A hash tree is a generalization of hash lists or hash chains where every leaf node (in the tree) is labelled with a data block and every non-leaf node (in the tree) is labelled with the crypto(graphic) hash of the labels of its child nodes. For more see the Merkle tree Wikipedia Article.

Note: By adding crypto(graphic) hash functions you can "merkelize" any data structure.

Q: What's a Merkelized DAG (Directed Acyclic Graph)?

A: It's a blockchain secured by crypto(graphic) hashes that uses a directed acyclic graph data structure (instead of linear "classic" linked list).

Note: Git uses merkelized dag (directed acyclic graph)s for its blockchains.

Q: Is the Git Repo a Blockchain?

A: Yes, every branch in the git repo is a blockchain. The "classic" Satoshi-blockchain is like a git repo with a single master branch (only).

More Q&A - Blockchain Interview Questions - 10 Essential Blockchain Interview Questions - Top 36 Blockchain Job Interview Questions & Answers


Basic Introduction


Development Tutorial

BitCoin

Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network.

Ethereum

Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference.

These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property.

Consortium Blockchain

Fabric

FISCO-BCOS

Releated Tools

Solidity

truffle

web3.js


Projects and Applications

Monero

Monero is a private, secure, untraceable, decentralised digital currency. You are your bank, you control your funds, and nobody can trace your transfers unless you allow them to do so.

Privacy: Monero uses a cryptographically sound system to allow you to send and receive funds without your transactions being easily revealed on the blockchain (the ledger of transactions that everyone has). This ensures that your purchases, receipts, and all transfers remain absolutely private by default.

Security: Using the power of a distributed peer-to-peer consensus network, every transaction on the network is cryptographically secured. Individual wallets have a 25 word mnemonic seed that is only displayed once, and can be written down to backup the wallet. Wallet files are encrypted with a passphrase to ensure they are useless if stolen.

Untraceability: By taking advantage of ring signatures, a special property of a certain type of cryptography, Monero is able to ensure that transactions are not only untraceable, but have an optional measure of ambiguity that ensures that transactions cannot easily be tied back to an individual user or computer.

  • Getmonero.org - The official Monero website
  • Lab.getmonero.org - The official research group of Monero
  • RPC documentation - RPC documentation of the Monero daemon
  • [Wallet documentation](https://getmonero.org/resources/developer-guides/wallet-rpc

Core symbols most depended-on inside this repo

get_account_id
called by 25
src/js/blockchain.js
get_last_block
called by 9
src/js/blockchain.js
start
called by 6
src/js/network.js
get_hash
called by 6
src/js/block.js
calc_block_hash
called by 6
src/js/block.js
get_from_db
called by 6
src/js/blockchain.js
save_block
called by 5
src/js/blockchain.js
broadcast
called by 4
src/js/network.js

Shape

Method 89
Class 22
Function 12

Languages

TypeScript100%

Modules by API surface

src/js/blockchain.js31 symbols
src/js/block.js21 symbols
src/js/transaction.js15 symbols
src/js/network.js10 symbols
src/js/consensus/pow.js7 symbols
src/js/consensus/pos.js7 symbols
src/js/consensus/pbft.js7 symbols
src/js/account.js7 symbols
src/js/consensus/dpos.js6 symbols
src/js/test/create_genesis.js4 symbols
src/js/crypto.js3 symbols
src/js/consensus/slot.js2 symbols

Dependencies from manifests, versioned

babel-eslint10.0.1 · 1×
bluebird3.5.3 · 1×
ed255190.0.4 · 1×
eslint5.13.0 · 1×
eslint-plugin-html5.0.0 · 1×
js-sha2560.9.0 · 1×
level4.0.0 · 1×

For agents

$ claude mcp add awesome-blockchain \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact