Add blockchain roadmap content (#1549)
* Remove Terra blockchain * Add blockchain resources * Add oracle resources * Add smart contract resources * Add framework resources * Add security practices resources * Add security tools resources * Add dapp resources * Add scaling resourcespull/1657/head
parent
ca0b725c70
commit
f5cc1ef3b3
107 changed files with 727 additions and 221 deletions
@ -1 +1,8 @@ |
||||
# Storage |
||||
# Storage |
||||
|
||||
Unlike a centralized server operated by a single company or organization, decentralized storage systems consist of a peer-to-peer network of user-operators who hold a portion of the overall data, creating a resilient file storage sharing system. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.techtarget.com/searchstorage/definition/blockchain-storage'>Blockchain Storage</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/storage/'>Decentralized Storage</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.ipfs.tech/concepts/how-ipfs-works/'>How IPFS works</BadgeLink> |
||||
|
@ -1 +1,10 @@ |
||||
# Mining and incentive models |
||||
# Mining and incentive models |
||||
|
||||
Mining is the process of adding transaction details to the Blockchain, like sender address, hash value, etc. The Blockchain contains all the history of the transactions that have taken place in the past for record purposes and it is stored in such a manner that, it can’t be manipulated. |
||||
|
||||
An Incentive is basically a reward given to a Blockchain Miner for speeding up the transactions and making correct decisions while processing the complete transaction securely. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/blockchain-incentives-to-miners/'>Blockchain Incentives to Miners</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/consensus-mechanisms/'>Ethereum Consensus Mechanisms</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.solana.com/implemented-proposals/staking-rewards'>Solana Staking Rewards</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Decentralization vs trust |
||||
# Decentralization vs trust |
||||
|
||||
Blockchains, cryptocurrency, smart contracts, and oracles have emerged as new technologies for coordinating social and economic activities in a more secure, transparent, and accessible manner. Most importantly, these technologies are revealing the power of cryptographic guarantees—what we often call cryptographic truth—in restoring users’ trust in everyday interactions. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.chain.link/what-crypto-is-really-about/'>What Crypto Is Really About</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/consensus-mechanisms/'>Ethereum Consensus Mechanisms</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/AEtBPbmIRKQ'>The Superiority of Cryptographic Truth</BadgeLink> |
@ -1 +1,8 @@ |
||||
# Blockchain forking |
||||
# Blockchain forking |
||||
|
||||
A fork happens whenever a community makes a change to the blockchain’s protocol, or basic set of rules. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://en.wikipedia.org/wiki/Fork_(blockchain)'>Blockchain Fork</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.coinbase.com/learn/crypto-basics/what-is-a-fork'>What is a fork?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.investopedia.com/terms/h/hard-fork.asp'>What Is a Hard Fork?</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Cryptocurrencies |
||||
# Cryptocurrencies |
||||
|
||||
A cryptocurrency, crypto-currency, or crypto is a digital currency designed to work as a medium of exchange through a blockchain, which is not reliant on any central authority, such as a government or bank, to uphold or maintain it. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.investopedia.com/terms/c/cryptocurrency.asp'>What Is Cryptocurrency?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.nerdwallet.com/article/investing/cryptocurrency'>Cryptocurrency: What It Is and How It Works</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/rYQgy8QDEBI'>How Cryptocurrency actually works.</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Cryptowallets |
||||
# Cryptowallets |
||||
|
||||
A cryptocurrency wallet is an application that functions as a wallet for your cryptocurrency. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.investopedia.com/terms/b/bitcoin-wallet.asp'>What is a Cryptocurrency Wallet?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://crypto.com/university/crypto-wallets'>What is a Crypto Wallet? A Beginner’s Guide</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Cryptography |
||||
# Cryptography |
||||
|
||||
Cryptography, or cryptology, is the practice and study of techniques for secure communication in the presence of adversarial behavior. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://en.wikipedia.org/wiki/Cryptography'>Cryptography</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.synopsys.com/glossary/what-is-cryptography.html'>What is Cryptography</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/AQDCe585Lnc'>Asymmetric Encryption - Simply explained</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Consensus protocols |
||||
# Consensus protocols |
||||
|
||||
Consensus for blockchain is a procedure in which the peers of a Blockchain network reach agreement about the present state of the data in the network. Through this, consensus algorithms establish reliability and trust in the Blockchain network. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://crypto.com/university/consensus-mechanisms-in-blockchain'>Consensus Mechanisms in Blockchain: A Beginner’s Guide</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/consensus-mechanisms/'>Consensus Mechanisms</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.coindesk.com/learn/what-is-a-consensus-mechanism/'>What Is a Consensus Mechanism?</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Blockchain interoperability |
||||
# Blockchain interoperability |
||||
|
||||
The concept of “blockchain interoperability” refers to the ability of different blockchain networks to exchange and leverage data between one another and to move unique types of digital assets between the networks’ respective blockchains. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.gemini.com/cryptopedia/why-is-interoperability-important-for-blockchain'>Cross-Chain Interoperability: What it Means for Blockchain</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://101blockchains.com/blockchain-interoperability/'>Blockchain Interoperability : Why Is Cross Chain Technology Important?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.blockchain-council.org/blockchain/blockchain-interoperability/'>Blockchain Interoperability – Understanding Cross-Chain Technology</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Solana |
||||
# Solana |
||||
|
||||
Solana is a public blockchain platform with smart contract functionality. Its native cryptocurrency is SOL. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://cointelegraph.com/news/what-is-solana-and-how-does-it-work'>What is Solana, and how does it work?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.solana.com/introduction'>Solana Introduction</BadgeLink> |
||||
|
@ -1 +0,0 @@ |
||||
# Terra |
@ -1 +1,7 @@ |
||||
# Avalanche |
||||
# Avalanche |
||||
|
||||
Avalanche describes itself as an “open, programmable smart contracts platform for decentralized applications.” What does that mean? Like many other decentralized protocols, Avalanche has its own token called AVAX, which is used to pay transaction fees and can be staked to secure the network. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://assets.website-files.com/5d80307810123f5ffbb34d6e/6008d7bbf8b10d1eb01e7e16_Avalanche%20Platform%20Whitepaper.pdf'>Avalanche whitepaper</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.avax.network/'>Avalanche official website</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Binance smart chain |
||||
# Binance Smart Chain |
||||
|
||||
Binance Smart Chain (also known as BNB Chain) is a blockchain project initiated by Binance as a central piece of their cryptocurrency exchange, which is the largest exchange in the world in terms of daily trading volume of cryptocurrencies. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.exodus.com/assets/docs/binance-coin-whitepaper.pdf'>Binance whitepaper</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.binance.com/en/blog/all/bnb-chain-blockchain-for-exchanging-the-world-304219301536473088'>BNB Chain overview</BadgeLink> |
||||
|
@ -1 +1,9 @@ |
||||
# Ethereum |
||||
# Ethereum |
||||
|
||||
Ethereum is a programmable blockchain platform with the capacity to support smart contracts, dapps (decentralized apps), and other DeFi projects. The Ethereum native token is the Ether (ETH), and it’s used to fuel operations on the blockchain. |
||||
|
||||
The Ethereum platform launched in 2015, and it’s now the second largest form of crypto next to Bitcoin (BTC). |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/whitepaper/'>Ethereum whitepaper</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/intro-to-ethereum/'>Intro to Ethereum</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Fantom |
||||
# Fantom |
||||
|
||||
Fantom is a decentralized, open-source smart contract platform that supports decentralized applications (dApps) and digital assets. It's one of many blockchain networks built as a faster, more efficient alternative to Ethereum, it uses the proof-of-stake consensus mechanism. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://arxiv.org/pdf/1810.10360.pdf'>Fantom whitepaper</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.fantom.foundation/ '>Fantom overview</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Gnosis chain |
||||
# Gnosis Chain |
||||
|
||||
Gnosis is a blockchain based on Ethereum, which changed the consensus model to PoS to solve major issues on the Ethereum mainnet. While the platform solves problems surrounding transaction fees and speed, it also means that the Gnosis chain is less decentralized, as it is somewhat reliant on the Ethereum chain. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blockchainlab.com/pdf/gnosis_whitepaper.pdf'>Gnosis whitepaper</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developers.gnosischain.com/#gnosis-chain'>Gnosis overview</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Huobi eco chain |
||||
# Huobi Eco Chain |
||||
|
||||
Huobi's ECO Chain (also known as HECO) is a public blockchain that provides developers with a low-cost onchain environment for running decentralized apps (dApps) of smart contracts and storing digital assets. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.hecochain.com/developer.133bd45.pdf'>Huobi Eco Chain whitepaper</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.hecochain.com/#/'>Introduction to HECO Chain</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Polygon |
||||
# Polygon |
||||
|
||||
Polygon, formerly known as the Matic Network, is a scaling solution that aims to provide multiple tools to improve the speed and reduce the cost and complexities of transactions on the Ethereum blockchain. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://polygon.technology/lightpaper-polygon.pdf'>Polygon whitepaper</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://wiki.polygon.technology/docs/develop/getting-started'>Introduction to Polygon</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Evm based |
||||
# EVM based |
||||
|
||||
The Ethereum Virtual Machine (EVM) is a dedicated software virtual stack that executes smart contract bytecode and is integrated into each Ethereum node. Simply said, EVM is a software framework that allows developers to construct Ethereum-based decentralized applications (DApps). All Ethereum accounts and smart contracts are stored on this virtual computer. |
||||
|
||||
Many blockchains have forked the Ethereum blockchain and added functionality on top, these blockchains are referred to as EVM-based blockchains. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://moralis.io/evm-explained-what-is-ethereum-virtual-machine/'>What is Ethereum Virtual Machine?</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Arbitrum |
||||
# Arbitrum |
||||
|
||||
Arbitrum aims to reduce transaction fees and congestion by moving as much computation and data storage off of Ethereum's main blockchain (layer 1) as it can. Storing data off of Ethereum's blockchain is known as Layer 2 scaling solutions. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-kalodner.pdf'>Arbitrum whitepaper</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://developer.offchainlabs.com/docs/Inside_Arbitrum'>Inside Arbitrum</BadgeLink> |
||||
|
@ -1 +1,9 @@ |
||||
# Moonbeam moonriver |
||||
# Moonbeam Moonriver |
||||
|
||||
Moonbeam is a Polkadot network parachain that promises cross-chain interoperability between the Ethereum and Polkadot . More specifically, Moonbeam is a smart contract platform that enables developers to move dApps between the two networks without having to rewrite code or redeploy infrastructure. |
||||
|
||||
Moonriver is an incentivized testnet. It enables developers to create, test, and adjust their protocols prior to launching on Moonbeam. Moonbeam is the mainnet of the ecosystem. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.moonbeam.network/learn/platform/networks/moonbeam/'>About Moonbream</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.moonbeam.network/learn/platform/vision/'>Moonbeam Vision</BadgeLink> |
||||
|
@ -1 +1,9 @@ |
||||
# L2 blockchains |
||||
# L2 blockchains |
||||
|
||||
Layer-2 refers to a network or technology that operates on top of an underlying blockchain protocol to improve its scalability and efficiency. |
||||
|
||||
This category of scaling solutions entails shifting a portion of Ethereum's transactional burden to an adjacent system architecture, which then handles the brunt of the network’s processing and only subsequently reports back to Ethereum to finalize its results. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.gemini.com/cryptopedia/blockchain-layer-2-network-layer-1-network'>Layer-1 and Layer-2 Blockchain Scaling Solutions</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://academy.binance.com/en/glossary/layer-2'>Layer 2 - Binance Academy</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Blockchains |
||||
# Blockchains |
||||
|
||||
Blockchain systems vary considerably in their design, particularly with regard to the consensus mechanisms used to perform the essential task of verifying network data. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.gemini.com/cryptopedia/blockchain-types-pow-pos-private'>Types of Blockchains: PoW, PoS, and Private</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/types-of-blockchain/'>Types of Blockchain</BadgeLink> |
||||
|
@ -1 +1,5 @@ |
||||
# Blockchain general knowledge |
||||
# Blockchain general knowledge |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.udemy.com/course/understanding-blockchain-technology/'>The Complete Course On Understanding Blockchain Technology</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/qOVAbKKSH10'>Blockchain Technology Explained</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Hybrid smart contracts |
||||
# Hybrid Smart Contracts |
||||
|
||||
Hybrid smart contracts combine code running on the blockchain (on-chain) with data and computation from outside the blockchain (off-chain) provided by Decentralized Oracle Networks. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.chain.link/hybrid-smart-contracts-explained/'>Hybrid Smart Contracts Explained</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.leewayhertz.com/hybrid-smart-contracts/'>A complete guide to understand hybrid smart contracts</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Chainlink |
||||
# Chainlink |
||||
|
||||
Chainlink is a decentralized network of oracles that enables smart contracts to securely interact with real-world data and services that exist outside of blockchain networks. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.chain.link/what-is-chainlink/'>What Is Chainlink? A Beginner’s Guide</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.gemini.com/cryptopedia/what-is-chainlink-and-how-does-it-work'>What Is Chainlink in 5 Minutes</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Oracle networks |
||||
# Oracle Networks |
||||
|
||||
By leveraging many different data sources, and implementing an oracle system that isn’t controlled by a single entity, decentralized oracle networks provide an increased level of security and fairness to smart contracts. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://medium.com/coinmonks/decentralized-oracle-networks-9fead28f5fe5'>Decentralized Oracle Networks</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://chainlinktoday.com/a-beginners-guide-to-the-evolution-of-decentralized-oracle-networks/'>A Beginner’s Guide To The Evolution Of Decentralized Oracle Networks</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://coinmetro.com/blog/understanding-oracle-networks/'>Understanding Oracle Networks</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Blockchain oracles |
||||
# Blockchain Oracles |
||||
|
||||
A blockchain oracle is a third-party service that connects smart contracts with the outside world, primarily to feed information in from the world, but also the reverse. Information from the world encapsulates multiple sources so that decentralised knowledge is obtained. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://en.wikipedia.org/wiki/Blockchain_oracle'>Blockchain Oracle</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://chain.link/education/blockchain-oracles'>What Is a Blockchain Oracle?</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Solidity |
||||
# Solidity |
||||
|
||||
Solidity is an object-oriented programming language for implementing smart contracts on various blockchain platforms, most notably, Ethereum. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://soliditylang.org/'>Solidity Programming Language</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/solidity/index.htm'>Solidity Tutorial</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Vyper |
||||
# Vyper |
||||
|
||||
Vyper is a contract-oriented, pythonic programming language that targets the Ethereum Virtual Machine (EVM). |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://vyper.readthedocs.io/en/stable/'>Vyper Programming Language</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://learnxinyminutes.com/docs/vyper/'>Learn Vyper in Y Minutes</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Rust |
||||
# Rust |
||||
|
||||
Rust is a multi-paradigm, general-purpose programming language. Rust emphasizes performance, type safety, and concurrency. It is popular on smart contract chains Solana and Polkadot. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.rust-lang.org/'>Rust Programming Language</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://learn.figment.io/tutorials/write-and-deploy-a-smart-contract-on-near'>How to write and deploy a smart contract in Rust</BadgeLink> |
@ -1 +1,6 @@ |
||||
# Programming languages |
||||
# Programming Languages |
||||
|
||||
Smart contracts can be programmed using relatively developer-friendly languages. If you're experienced with Python or any curly-bracket language, you can find a language with familiar syntax. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/smart-contracts/languages/'>Smart Contract Languages</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Unit tests |
||||
# Unit Tests |
||||
|
||||
Unit testing involves testing individual components in a smart contract for correctness. A unit test is simple, quick to run, and provides a clear idea of what went wrong if the test fails. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/smart-contracts/testing/#unit-testing'>Smart Contracts Unit Testing</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://betterprogramming.pub/a-few-tips-for-unit-testing-ethereum-smart-contract-in-solidity-d804062068fb'>Tips for Unit Testing Ethereum Smart Contracts in Solidity</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Integration tests |
||||
# Integration Tests |
||||
|
||||
Integration tests validate interactions between multiple components. For smart contract testing this can mean interactions between different components of a single contract, or across multiple contracts. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/GxnX9k8i0zM'>Unit tests vs integration tests | Smart contract testing course</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Code coverage |
||||
# Code Coverage |
||||
|
||||
Code coverage is a metric that can help you understand how much of your source is tested. It's a very useful metric that can help you assess the quality of your test suite. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/smart-contracts/testing/'>Testing Smart Contracts</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://medium.com/coinmonks/smart-contract-code-coverage-in-hardhat-d4a5ff6c9ba6'>Smart Contract Code Coverage In Hardhat</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Testing |
||||
# Testing |
||||
|
||||
Testing smart contracts is one of the most important measures for improving smart contract security. Unlike traditional software, smart contracts cannot typically be updated after launching, making it imperative to test rigorously before deploying contracts onto mainnet. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/smart-contracts/testing/'>Testing Smart Contracts</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d'>How to Test Ethereum Smart Contracts</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.openzeppelin.com/learn/writing-automated-tests'>Writing automated smart contract tests</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Deployment |
||||
# Deployment |
||||
|
||||
Unlike other software, smart contracts don’t run on a local computer or a remote server: they live on the blockchain. Thus, interacting with them is different from more traditional applications. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/smart-contracts/deploying/'>Deploying Smart Contracts</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.openzeppelin.com/learn/deploying-and-interacting'>Deploying and interacting with smart contracts</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Monitoring |
||||
# Monitoring |
||||
|
||||
Monitoring smart contracts allow their authors to view its activity and interactions based on generated transactions and events, allowing verification of the contract's intended purpose and functionality. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://consensys.github.io/smart-contract-best-practices/development-recommendations/solidity-specific/event-monitoring/'>Monitoring Smart Contracts</BadgeLink> |
||||
|
@ -1 +1,9 @@ |
||||
# Upgrades |
||||
# Upgrades |
||||
|
||||
Smart contracts are immutable by default. Once they are created there is no way to alter them, effectively acting as an unbreakable contract among participants. However, for some scenarios, it is desirable to be able to modify them. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/smart-contracts/upgrading/'>Upgrading Ethereum contracts</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.openzeppelin.com/learn/upgrading-smart-contracts'>Upgrading smart contracts</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://moralis.io/what-are-upgradable-smart-contracts-full-guide/'>What are Upgradable Smart Contracts? Full Guide</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/bdXJmWajZRY'>Upgrading your Smart Contracts | A Tutorial & Introduction</BadgeLink> |
||||
|
@ -1 +1,9 @@ |
||||
# Erc tokens |
||||
# ERC Tokens |
||||
|
||||
An ‘Ethereum Request for Comments’ (ERC) is a document that programmers use to write smart contracts on Ethereum Blockchain. They describe rules in these documents that Ethereum-based tokens must comply with. |
||||
|
||||
While there are several Ethereum standards. These ERC Ethereum standards are the most well-known and popular: ERC-20, ERC-721, ERC-1155, and ERC-777. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://dev.to/envoy_/ks-what-are-ethereum-request-for-comments-erc-standards-5f80'>What are Ethereum request for comments (ERC) Standards</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/standards/tokens/erc-20/'>ERC-20 Token Standard</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Crypto wallets |
||||
# Crypto Wallets |
||||
|
||||
A cryptocurrency wallet is a device, physical medium, program, or service which stores the public and/or private keys for cryptocurrency transactions. In addition to this basic function of storing the keys, a cryptocurrency wallet more often also offers the functionality of encrypting and/or signing information. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.coinbase.com/learn/crypto-basics/what-is-a-crypto-wallet'>What is a crypto wallet?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://crypto.com/university/crypto-wallets'>What is a Crypto Wallet? A Beginner’s Guide</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Ides |
||||
# IDEs |
||||
|
||||
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools and a debugger. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/ides/'>Integrated Development Environments</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://remix-project.org/'>Remix - Ethereum IDE & community</BadgeLink> |
||||
|
@ -1 +1,9 @@ |
||||
# Crypto faucets |
||||
# Crypto Faucets |
||||
|
||||
A crypto faucet lets users earn small crypto rewards by completing simple tasks. The metaphor is based on how even one drop of water from a leaky faucet could eventually fill up a cup. There are various kinds of crypto faucets, including bitcoin (BTC), Ethereum (ETH), and BNB faucets. |
||||
|
||||
Faucets are common in development environments where developers obtain testnet crypto in order develop and test their application prior to mainnet deployment. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://academy.binance.com/en/articles/what-is-a-crypto-faucet'>What Is A Crypto Faucet?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://cointelegraph.com/news/what-are-crypto-faucets-and-how-do-they-work'>What are crypto faucets and how do they work?</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Decentralized storage |
||||
# Decentralized Storage |
||||
|
||||
Decentralized storage is where data is stored on a decentralized network across multiple locations by users or groups who are incentivized to join, store, and keep data accessible. The servers used are hosted by people, rather than a single company. Anyone is free to join, they are kept honest due to smart contracts, and they are incentivized to participate via tokens. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://medium.com/@ppio/what-is-decentralized-storage-9c4b761942e2'>What Is Decentralized Storage?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/storage/'>Decentralized Storage</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Smart contracts |
||||
# Smart Contracts |
||||
|
||||
A smart contract is a computer program or a transaction protocol that is intended to automatically execute, control or document legally relevant events and actions according to the terms of a contract or an agreement. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.blockchain.education/blockchain101/smart-contracts'>Smart Contracts Introduction</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://chain.link/education/smart-contracts'>What Is a Smart Contract?</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/ZE2HxTmxfrI'>Smart contracts - Simply Explained</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Hardhat |
||||
# Hardhat |
||||
|
||||
Hardhat is an Ethereum development environment. It allows users to compile contracts and run them on a development network. Get Solidity stack traces, console.log and more. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://hardhat.org/hardhat-runner/docs/getting-started#overview'>Hardhat Overview</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/GBc3lBrXEBo'>Build and Deploy Smart Contracts using Hardhat</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Brownie |
||||
# Brownie |
||||
|
||||
Brownie is a Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://eth-brownie.readthedocs.io/'>Brownie Overview</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/QfFO22lwSw4'>Python and Blockchain: Deploy Smart Contracts using Brownie</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Truffle |
||||
# Truffle |
||||
|
||||
A development environment, testing framework, and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://trufflesuite.com/docs/truffle/'>Truffle Overview</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/62f757RVEvU'>Truffle Tutorial for Beginners | Compile, Test & Deploy Smart contracts to any EVM Blockchain</BadgeLink> |
||||
|
@ -1 +0,0 @@ |
||||
# Dapp tools |
@ -0,0 +1,8 @@ |
||||
# Foundry |
||||
|
||||
Foundry is a smart contract development toolchain. Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line and via Solidity scripts. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://book.getfoundry.sh/'>Foundry Overview</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/fNMfMxGxeag'>Intro to Foundry</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Smart contract frameworks |
||||
# Smart Contract Frameworks |
||||
|
||||
Building a full-fledged dapp requires different pieces of technology. Software frameworks include many of the needed features or provide easy plugin systems to pick the tools you desire. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/frameworks/'>dApp Development Frameworks</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974#frameworks'>A Definitive List of Ethereum Developer Tools - Frameworks</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://medium.com/better-programming/top-10-smart-contract-developer-tools-you-need-for-2022-b763f5df689a'>Top 10 Smart Contract Developer Tools You Need for 2022</BadgeLink> |
||||
|
@ -1 +1,10 @@ |
||||
# Fuzz testing and static analysis |
||||
# Fuzz Testing and Static Analysis |
||||
|
||||
Fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a smart contract. |
||||
|
||||
Static analysis is the analysis of smart contracts performed without executing them. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.immunebytes.com/blog/getting-started-with-smart-contract-fuzzing/'>Getting Started with Smart Contract Fuzzing</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://lightrains.com/blogs/solidity-static-analysis-tools/#static-code-analysis'>Solidity smart contract Static Code Analysis</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/LRyyNzrqgOc'>Smart contract Fuzzing</BadgeLink> |
@ -1 +1,8 @@ |
||||
# Common threat vectors |
||||
# Common Threat Vectors |
||||
|
||||
Smart contract audits enable developers to provide a thorough analysis of smart contract sets. The main goal of a smart contract audit is to detect and eliminate vulnerabilities, starting with the most common threat vectors. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/kadenzipfel/smart-contract-attack-vectors'>Smart Contract Attack Vectors</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.sigmaprime.io/solidity-security.html'>Solidity Security: Comprehensive list of known attack vectors and common anti-patterns</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.apriorit.com/dev-blog/578-blockchain-attack-vectors'>Blockchain Attack Vectors: Vulnerabilities of the Most Secure Technology</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Source of randomness attacks |
||||
# Source of Randomness Attacks |
||||
|
||||
The security of cryptographic systems depends on some secret data that is known to authorized persons but unknown and unpredictable to others. To achieve this unpredictability, some randomization is typically employed. Modern cryptographic protocols often require frequent generation of random quantities. Cryptographic attacks that subvert or exploit weaknesses in this process are known as randomness attacks. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.finxter.com/randomness-or-replicatedlogic-attack-on-smart-contracts/'>Smart Contract Randomness or ReplicatedLogic Attack</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Practices |
||||
# Practices |
||||
|
||||
Smart contract programming requires a different engineering mindset. The cost of failure can be high, and change can be difficult. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://consensys.github.io/smart-contract-best-practices/'>Ethereum Smart Contract Security Best Practices</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/0aJfCug1zTM'>Smart Contract Security and Auditing 101</BadgeLink> |
@ -1 +1,6 @@ |
||||
# Slither |
||||
# Slither |
||||
|
||||
Slither is a Solidity static analysis framework written in Python 3. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses. Slither enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/crytic/slither/blob/master/README.md'>Slither, the Solidity source analyzer</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Manticore |
||||
# Manticore |
||||
|
||||
Manticore is a symbolic execution tool for analysis of smart contracts and binaries. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://manticore.readthedocs.io/'>Manticore Docs</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Mythx |
||||
# Mythx |
||||
|
||||
MythX is a comprehensive smart contract security analysis tools developed by Consensys. It allows users to detect security vulnerabilities in Ethereum smart contracts throughout the development life cycle as well as analyze Solidity dapps for security holes and known smart contract vulnerabilities. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://mythx.io/'>MythX Official Site</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.mythx.io/'>MythX Documentation</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Echidna |
||||
# Echidna |
||||
|
||||
Echidna is a Haskell program designed for fuzzing/property-based testing of Ethereum smarts contracts. It uses sophisticated grammar-based fuzzing campaigns based on a contract ABI to falsify user-defined predicates or Solidity assertions. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/crytic/echidna/blob/master/README.md'>Echidna: A Fast Smart Contract Fuzzer</BadgeLink> |
||||
|
@ -1 +1,3 @@ |
||||
# Tools |
||||
# Tools |
||||
|
||||
Blockchain and smart contract technology is faily new, therefore, you should expect constant changes in the security landscape, as new bugs and security risks are discovered, and new best practices are developed. Keeping track of this constantly moving landscape proves difficult, so using tools to aid this mission is important. The cost of failing to propertly secure smart contracts can be high, and because change can be difficult, we must make use of these tools. |
||||
|
@ -1 +1,7 @@ |
||||
# Blockchain security |
||||
# Security |
||||
|
||||
Smart contracts are extremely flexible, capable of both holding large quantities of tokens (often in excess of $1B) and running immutable logic based on previously deployed smart contract code. While this has created a vibrant and creative ecosystem of trustless, interconnected smart contracts, it is also the perfect ecosystem to attract attackers looking to profit by exploiting vulnerabilities |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/smart-contracts/security/'>Smart Contract Security</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://consensys.net/blog/developers/ethereum-smart-contract-security-recommendations/'>Ethereum Smart Contract Security Recommendations</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Open zeppelin |
||||
# OpenZeppelin |
||||
|
||||
OpenZeppelin Contracts helps you minimize risk by using battle-tested libraries of smart contracts for Ethereum and other blockchains. It includes the most used implementations of ERC standards. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.openzeppelin.com/contracts/'>OpenZeppelin Contracts</BadgeLink> |
||||
|
@ -1 +1,3 @@ |
||||
# Management platforms |
||||
# Management Platforms |
||||
|
||||
Managing smart contracts in a production environment (mainnet) can prove difficult as users must keep track of different versions, blockchains, deployments, etc. Using a tool for this process eliminates a lot of the risk that comes with manual tracking. |
||||
|
@ -1 +1,10 @@ |
||||
# Testing |
||||
# Testing |
||||
|
||||
A key to building software that meets requirements without defects is testing. Software testing helps developers know they are building the right software. When tests are run as part of the development process (often with continuous integration tools), they build confidence and prevent regressions in the code. |
||||
|
||||
Like traditional software, testing dApps involves testing the entire stack that makes up the dApp (backend, frontend, db, etc.). |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.guru99.com/software-testing-introduction-importance.html'>What is Software Testing?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.browserstack.com/guide/testing-pyramid-for-test-automation'>Testing Pyramid</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://rhian-is.medium.com/how-to-test-dapps-decentralized-applications-4662cf61db90'>How to test dApps (decentralized applications)</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Deployment |
||||
# Deployment |
||||
|
||||
Deploying a dApp involves deployment of all of its layers, generally through a management framework. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.moesif.com/blog/blockchain/ethereum/Tutorial-for-building-Ethereum-Dapp-with-Integrated-Error-Monitoring/'>Tutorial for building an Ethereum DApp with Integrated Web3 Monitoring</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/Wn_Kb3MR_cU'>Build and Deploy a Modern Web 3.0 Blockchain App</BadgeLink> |
||||
|
@ -0,0 +1,3 @@ |
||||
# Maintenance |
||||
|
||||
dApps can be harder to maintain because the code and data published to the blockchain is harder to modify. It’s hard for developers to make updates to their dapps (or the underlying data stored by a dapp) once they are deployed, even if bugs or security risks are identified in an old version. |
@ -1 +0,0 @@ |
||||
# Mantenance |
@ -1 +1,8 @@ |
||||
# Architecture |
||||
# Architecture |
||||
|
||||
Unlike Web2 applications, in Web3 there’s no centralized database that stores the application state or user identity, and there’s no centralized web server where the backend logic resides. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application'>The Architecture of a Web 3.0 application</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/how-to-design-a-secure-backend-for-your-decentralized-application-9541b5d8bddb/'>Decentralized Applications Architecture: Back End, Security and Design Patterns</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/KBSq8-LnUDI?t=286'>Blockchain Development: Dapp Architecture</BadgeLink> |
@ -1 +1,8 @@ |
||||
# Security |
||||
# Security |
||||
|
||||
dApps face unique security challenges as they run on immutable blockchains. dApps are harder to maintain, and developers cannot modify or update their codes once deployed. Therefore, special consideration must be taken before putting it on the blockchain. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/Dexaran/DAPP-security-standards/blob/master/README.md'>DAPP Security Standards</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://livebook.manning.com/book/building-ethereum-dapps/chapter-14/'>dApp Security Considerations</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.immunebytes.com/blog/dapp-security/#Benefits_of_DApps_Security'>dApp Security:All You Need to Know</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Defi |
||||
# DeFi |
||||
|
||||
Decentralized finance offers financial instruments without relying on intermediaries such as brokerages, exchanges, or banks by using smart contracts on a blockchain. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.investopedia.com/decentralized-finance-defi-5113835'>Decentralized Finance (DeFi) Definition</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.coinbase.com/learn/crypto-basics/what-is-defi'>What is DeFi?</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Daos |
||||
# DAOs |
||||
|
||||
A decentralized autonomous organization (DAO) is an emerging form of legal structure. With no central governing body, every member within a DAO typically shares a common goal and attempt to act in the best interest of the entity. Popularized through cryptocurrency enthusiasts and blockchain technology, DAOs are used to make decisions in a bottoms-up management approach. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://consensys.net/blog/blockchain-explained/what-is-a-dao-and-how-do-they-work/'>What Is A DAO And How Do They Work?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.investopedia.com/tech/what-dao/'>Decentralized Autonomous Organization (DAO)</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Nfts |
||||
# NFTs |
||||
|
||||
A non-fungible token (NFT) is a financial security consisting of digital data stored in a blockchain, a form of distributed ledger. The ownership of an NFT is recorded in the blockchain, and can be transferred by the owner, allowing NFTs to be sold and traded. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.investopedia.com/non-fungible-tokens-nft-5115211'>Non-Fungible Token (NFT)</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.theverge.com/22310188/nft-explainer-what-is-blockchain-crypto-art-faq'>NFTs, explained</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/NNQLJcJEzv0'>NFT Explained In 5 Minutes | What Is NFT? - Non Fungible Token</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Payments |
||||
# Payments |
||||
|
||||
Blockchain technology has the ability to eliminate all the tolls exacted by centralized organization when transferring payments. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://consensys.net/blockchain-use-cases/finance/#payments'>How does blockchain impact global payments and remittances?</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.chain.link/smart-contract-use-cases/#external-payments'>Smart Contract Use Cases - Payments</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# Insurance |
||||
# Insurance |
||||
|
||||
Blockchain technology has the ability to automate claims functions by verifying real-world data through the use of an oracle. It also automates payments between parties for claims and thus lower administrative costs for insurance companies. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://blog.chain.link/smart-contract-use-cases/#insurance'>Smart Contract Use Cases - Insurance</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://imaginovation.net/blog/blockchain-insurance-industry-examples/'>Top 7 Use Cases of Blockchain in the Insurance Industry</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Applicability |
||||
# Applicability |
||||
|
||||
dApps can be used for just about anything that requires two or more parties to agree on something. When the appropriate conditions are met, the smart contract will execute automatically. An important differentiation is that these transactions are no longer based on trust but they are rather based on cryptographically-backed smart contracts. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.sofi.com/learn/content/what-is-a-dapp/'>What Is a dApp? A Guide to Decentralized Applications</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://consensys.net/blockchain-use-cases/'>Blockchain Use Cases and Applications by Industry</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://roboticsandautomationnews.com/2022/05/20/the-real-world-use-cases-for-blockchain-technology/'>The real-world use cases for blockchain technology</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Alchemy |
||||
# Alchemy |
||||
|
||||
Alchemy is a developer platform that empowers companies to build scalable and reliable decentralized applications without the hassle of managing blockchain infrastructure in-house. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.alchemy.com/'>Alchemy official site</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Infura |
||||
# Infura |
||||
|
||||
Infura provides the tools and infrastructure that allow developers to easily take their blockchain application from testing to scaled deployment - with simple, reliable access to Ethereum and IPFS. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://infura.io/'>Infura official site</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Moralis |
||||
# Moralis |
||||
|
||||
Moralis provides a single workflow for building high performance dapps. Fully compatible with your favorite web3 tools and services. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://moralis.io/'>Moralis official site</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Quicknode |
||||
# Quicknode |
||||
|
||||
QuickNode is a Web3 developer platform used to build and scale blockchain applications. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.quicknode.com/'>Quicknode official site</BadgeLink> |
@ -1 +1,7 @@ |
||||
# Node as a service |
||||
# Node as a Service (NaaS) |
||||
|
||||
Running your own blockchain node can be challenging, especially when getting started or while scaling fast. There are a number of services that run optimized node infrastructures for you, so you can focus on developing your application or product instead. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.infoq.com/articles/blockchain-as-a-service-get-block/'>Blockchain Node Providers and How They Work</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/nodes-and-clients/nodes-as-a-service/'>Node as a Service - Ethereum</BadgeLink> |
||||
|
@ -1 +1,14 @@ |
||||
# Javascript |
||||
# JavaScript |
||||
|
||||
JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. It lets us add interactivity to pages e.g. you might have seen sliders, alerts, click interactions, and popups etc on different websites -- all of that is built using JavaScript. Apart from being used in the browser, it is also used in other non-browser environments as well such as Node.js for writing server-side code in JavaScript, Electron for writing desktop applications, React Native for mobile applications and so on. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
|
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://www.w3schools.com/js/'>W3Schools – JavaScript Tutorial</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://javascript.info/'>The Modern JavaScript Tutorial</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme='yellow' href='https://eloquentjavascript.net/'>Eloquent Javascript - Book</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://youtu.be/hdI2bqOjy3c'>JavaScript Crash Course for Beginners</BadgeLink> |
||||
|
||||
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=fBNz5xF-Kx4'>Node.js Crash Course</BadgeLink> |
||||
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=TlB_eWDSMt4'>Node.js Tutorial for Beginners</BadgeLink> |
||||
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/introduction-to-javascript'>Codecademy - Learn JavaScript</BadgeLink> |
@ -1 +1,17 @@ |
||||
# Python |
||||
<DedicatedRoadmap |
||||
href='/python' |
||||
title='Python Roadmap' |
||||
description='Click to check the detailed Python Roadmap.' |
||||
/> |
||||
|
||||
# Python |
||||
|
||||
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedureal or object-oriented programmatic ways. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Python Website' href='https://www.python.org/'>Python Website</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Read' href='https://www.python.org/about/gettingstarted/'>Python Getting Started</BadgeLink> |
||||
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.w3schools.com/python/'>W3Schools - Python Tutorial </BadgeLink> |
||||
<BadgeLink badgeText='Course' colorScheme='green' href='https://ehmatthes.github.io/pcc/'>Python Crash Course</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Read' href='https://automatetheboringstuff.com/'>Automate the Boring Stuff</BadgeLink> |
||||
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/learn-python'>Codecademy - Learn Python 2</BadgeLink> |
@ -1 +1,17 @@ |
||||
# Go |
||||
<DedicatedRoadmap |
||||
href='/golang' |
||||
title='Go Roadmap' |
||||
description='Click to check the detailed Go Roadmap.' |
||||
/> |
||||
|
||||
|
||||
# Go |
||||
|
||||
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://go.dev/tour/welcome/1'>A Tour of Go – Go Basics</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://go.dev/doc/'>Go Reference Documentation</BadgeLink> |
||||
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://gobyexample.com/'>Go by Example - annotated example programs</BadgeLink> |
||||
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-go'>Learn Go | Codecademy</BadgeLink> |
||||
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.w3schools.com/go/'>W3Schools Go Tutorial </BadgeLink> |
@ -1 +1,4 @@ |
||||
# Supporting languages |
||||
# Supporting Languages |
||||
|
||||
While the bulk of the logic in blockchain applications is handled by smart contracts, all the surrounding services that support those smart contracts (frontend, monitoring, etc.) are often written in other languages. |
||||
|
||||
|
@ -1 +1,6 @@ |
||||
# Ethers js |
||||
# Ethers.js |
||||
|
||||
The ethers.js library aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem. It was originally designed for use with ethers.io and has since expanded into a more general-purpose library. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.ethers.io/'>Ethers.js Documentation</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Web3 js |
||||
# Web3.js |
||||
|
||||
web3.js is a collection of libraries that allow you to interact with a local or remote ethereum node using HTTP, IPC or WebSocket. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://web3js.readthedocs.io/'>web3.js Documentation</BadgeLink> |
@ -1 +1,6 @@ |
||||
# Moralis |
||||
# Moralis SDK |
||||
|
||||
A library that gives you access to the powerful Moralis Server backend from your JavaScript app. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/MoralisWeb3/Moralis-JS-SDK/blob/main/README.md'>Moralis SDK</BadgeLink> |
||||
|
@ -1 +1,3 @@ |
||||
# Client libraries |
||||
# Client libraries |
||||
|
||||
You don't need to write every smart contract in your project from scratch. There are many open source smart contract libraries available that provide reusable building blocks for your project that can save you from having to reinvent the wheel. |
||||
|
@ -1 +1,6 @@ |
||||
# Geth |
||||
# Geth |
||||
|
||||
Go Ethereum (Geth) is one of the three original implementations (along with C++ and Python) of the Ethereum protocol. It is written in Go, fully open source and licensed under the GNU LGPL v3. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://geth.ethereum.org/docs/'>Geth Documentation</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Besu |
||||
# Besu |
||||
|
||||
Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in Java. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/hyperledger/besu'>Besu Ethereum Client</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Nethermind |
||||
# Nethermind |
||||
|
||||
Nethermind is a high-performance, highly configurable full Ethereum protocol client built on .NET that runs on Linux, Windows, and macOS, and supports Clique, Aura, Ethash, and Proof-of-Stake consensus algorithms. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.nethermind.io/nethermind/'>Nethermind Documentation</BadgeLink> |
||||
|
@ -1 +1,6 @@ |
||||
# Substrate |
||||
# Substrate |
||||
|
||||
Substrate is a Software Development Kit (SDK) specifically designed to provide you with all of the fundamental components s blockchain requires so you can focus on crafting the logic that makes your chain unique and innovative. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.substrate.io/quick-start/'>Substrate Documentation</BadgeLink> |
@ -1 +1,4 @@ |
||||
# Client nodes |
||||
# Client Nodes |
||||
|
||||
A blockchain is a distributed network of computers (known as nodes) running software that can verify blocks and transaction data. The software application, known as a client, must be run on your computer to turn it into a blockchain node. |
||||
|
||||
|
@ -1 +1,7 @@ |
||||
# Dapps |
||||
# dApps |
||||
|
||||
A decentralised application (dApp) is an application that can operate autonomously, through the use of smart contracts that run on a blockchain. Like traditional applications, dApps provide some function or utility to its users. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/dapps/'>Introduction to dApps</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.coindesk.com/learn/what-is-a-dapp-decentralized-apps-explained/'>What Is a Dapp? Decentralized Apps Explained</BadgeLink> |
||||
|
@ -1 +1,7 @@ |
||||
# State and payment channels |
||||
# State and Payment Channels |
||||
|
||||
State channels refer to the process in which users transact with one another directly outside of the blockchain, or ‘off-chain,’ and greatly minimize their use of ‘on-chain’ operations. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/'>The Basics of State Channels</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.talentica.com/blogs/state-channels-an-introduction-to-off-chain-transactions/'>State Channels: An Introduction to Off-chain Transactions</BadgeLink> |
||||
|
@ -1 +1,8 @@ |
||||
# Zero knowledge rollups and zero knowledge proof |
||||
# Zero Knowledge Rollups and Zero Knowledge Proof |
||||
|
||||
Zero-knowledge rollups (ZK-rollups) are layer 2 scaling solutions that increase the throughput of a blockchain by moving computation and state-storage off-chain. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://ethereum.org/en/developers/docs/scaling/zk-rollups'>Zero-Knowledge Rollups - Ethereum</BadgeLink> |
||||
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.alchemy.com//blog/zero-knowledge-rollups'>What are Zero-Knowledge Rollups (ZK-rollups)? |
||||
</BadgeLink> |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue