From 835f533e1d13e8b1b1fafd0d1b33cc2d05dd223a Mon Sep 17 00:00:00 2001 From: Mr-Leshiy Date: Fri, 8 Dec 2023 11:42:50 +0200 Subject: [PATCH 1/4] add blockchain learning resourses --- README.md | 1 + learning_resources/blockchain.md | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 learning_resources/blockchain.md diff --git a/README.md b/README.md index 5465752..f588328 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ - [Dart](learning_resources/dart.md) - [Flutter](learning_resources/flutter.md) - [Rust](learning_resources/rust.md) +- [Blockchain](learning_resources/blockchain.md) ## Support diff --git a/learning_resources/blockchain.md b/learning_resources/blockchain.md new file mode 100644 index 0000000..8706d65 --- /dev/null +++ b/learning_resources/blockchain.md @@ -0,0 +1,32 @@ +# Blockchain Learning Resources + +## Bitcoin + +As a starting point for learning blockchain Bitcoin has a special place, +it could be a good reference to understand the idea and basic concepts +of the blockchain technology + +- https://developer.bitcoin.org/devguide/index.html + +## Polkadot/Substrate + +As an example of Rust developed blockchain and a great successful case of applying +and idea of sidechains Polkadot and it's ecosystem good to know. +Also as they have a Rust blockchain framework for building blockchains based on WASM, +it is also great to explore in that context what we are want to build with hermes. + +Polkadot: +- https://spec.polkadot.network/id-polkadot-protocol +- https://wiki.polkadot.network/docs/general-index + +Substrate (renamed to polkadot-sdk): +- https://github.com/paritytech/polkadot-sdk +- https://docs.substrate.io + +## Tendermint and Cosmos-SDK + +As another reference of blockchain framework with applying sidechain idea but on another language, Go land. + +- https://tendermint.com/core/ +- https://tendermint.com/sdk/ +- https://tendermint.com/ibc/ (sidechain's protocol) \ No newline at end of file From fb52ad4d6883365002a1000ad3e9b7acbc2b95d0 Mon Sep 17 00:00:00 2001 From: Mr-Leshiy Date: Fri, 8 Dec 2023 11:48:33 +0200 Subject: [PATCH 2/4] fix spelling --- .github/workflows/.cspell/project.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/.cspell/project.txt b/.github/workflows/.cspell/project.txt index 6099c54..de43a69 100644 --- a/.github/workflows/.cspell/project.txt +++ b/.github/workflows/.cspell/project.txt @@ -20,4 +20,8 @@ rustc rustdoc rxdart surrealdb -testnet \ No newline at end of file +testnet +Polkadot +sidechains +sidechain +Tendermint \ No newline at end of file From 9a90fc8b1b73f346768d70d64d114a58d0428331 Mon Sep 17 00:00:00 2001 From: Mr-Leshiy Date: Wed, 20 Dec 2023 11:29:39 +0200 Subject: [PATCH 3/4] update, add Blokchain exercises --- learning_resources/blockchain.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/learning_resources/blockchain.md b/learning_resources/blockchain.md index 8706d65..664c75e 100644 --- a/learning_resources/blockchain.md +++ b/learning_resources/blockchain.md @@ -8,6 +8,13 @@ of the blockchain technology - https://developer.bitcoin.org/devguide/index.html +## Cardano +Of course as we are working primarily with the Cardano ecosystem +some understanding how Cardano works would be beneficial + +- https://docs.cardano.org/ + + ## Polkadot/Substrate As an example of Rust developed blockchain and a great successful case of applying @@ -29,4 +36,23 @@ As another reference of blockchain framework with applying sidechain idea but on - https://tendermint.com/core/ - https://tendermint.com/sdk/ -- https://tendermint.com/ibc/ (sidechain's protocol) \ No newline at end of file +- https://tendermint.com/ibc/ (sidechain's protocol) + +# Blockchain exercises + +## Ethereum +Blockchain operations: + +1. Install ethereum node daemon https://geth.ethereum.org/docs/getting-started/installing-geth. +2. Take a look of all available commands to the ethereum daemon (geth) https://geth.ethereum.org/docs/fundamentals/command-line-options. +3. Create an ethereum metamask wallet account https://metamask.io (available as an browser extension). +5. Export private keys from metamask https://github.com/Kuzirashi/gw-gitcoin-instruction/blob/master/src/component-tutorials/5.extract.ethereum.private.key.md and import them to the ethereum daemon (geth) https://ethereum.stackexchange.com/questions/465/how-to-import-a-plain-private-key-into-geth-or-mist. +6. Start sync of the ethereum daemon with the network, sync up to 1000 blocks (or whatever amount you want, depends on your machine performance) https://geth.ethereum.org/docs/fundamentals/sync-modes. You can run sync in whatever mode you want, but try to learn what the difference. +7. Check your latest block (tip) on the ethereum explorer website that they are the same https://etherscan.io +8. (*Optionally*) Try to run mining of the ethereum block https://geth.ethereum.org/docs/fundamentals/mining (**NOTE** if you want to sucessfully mine the block, better to mine in the testnet, difficulty there much more less than in the mainnet). + +Wallet operations (all for testnet (Goerli network)): + +1. With already created wallet for metamask, get some free testcoins https://goerlifaucet.com. +2. Create a new wallet account (you can make it in some another wallet application https://ethereum.org/en/wallets/find-wallet/, but it is not so important, you can create just a new one in metamask). +3. Send coins from one account to another, and check that transaction https://etherscan.io (dont forget to change the network, by default its for mainnet, (top left button)). \ No newline at end of file From c63e86621d9c7f8cc1c969c9639012b73b9fdaaa Mon Sep 17 00:00:00 2001 From: Mr-Leshiy Date: Wed, 20 Dec 2023 17:10:56 +0200 Subject: [PATCH 4/4] fix, add table of contents --- learning_resources/blockchain.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/learning_resources/blockchain.md b/learning_resources/blockchain.md index 664c75e..8428e43 100644 --- a/learning_resources/blockchain.md +++ b/learning_resources/blockchain.md @@ -1,5 +1,14 @@ # Blockchain Learning Resources +- [Blockchain Learning Resources](#blockchain-learning-resources) + - [Bitcoin](#bitcoin) + - [Cardano](#cardano) + - [Polkadot/Substrate](#polkadotsubstrate) + - [Tendermint and Cosmos-SDK](#tendermint-and-cosmos-sdk) + - [Blockchain exercises](#blockchain-exercises) + - [Ethereum](#ethereum) + + ## Bitcoin As a starting point for learning blockchain Bitcoin has a special place, @@ -38,9 +47,9 @@ As another reference of blockchain framework with applying sidechain idea but on - https://tendermint.com/sdk/ - https://tendermint.com/ibc/ (sidechain's protocol) -# Blockchain exercises +## Blockchain exercises -## Ethereum +### Ethereum Blockchain operations: 1. Install ethereum node daemon https://geth.ethereum.org/docs/getting-started/installing-geth. @@ -49,10 +58,10 @@ Blockchain operations: 5. Export private keys from metamask https://github.com/Kuzirashi/gw-gitcoin-instruction/blob/master/src/component-tutorials/5.extract.ethereum.private.key.md and import them to the ethereum daemon (geth) https://ethereum.stackexchange.com/questions/465/how-to-import-a-plain-private-key-into-geth-or-mist. 6. Start sync of the ethereum daemon with the network, sync up to 1000 blocks (or whatever amount you want, depends on your machine performance) https://geth.ethereum.org/docs/fundamentals/sync-modes. You can run sync in whatever mode you want, but try to learn what the difference. 7. Check your latest block (tip) on the ethereum explorer website that they are the same https://etherscan.io -8. (*Optionally*) Try to run mining of the ethereum block https://geth.ethereum.org/docs/fundamentals/mining (**NOTE** if you want to sucessfully mine the block, better to mine in the testnet, difficulty there much more less than in the mainnet). +8. (*Optionally*) Try to run mining of the ethereum block https://geth.ethereum.org/docs/fundamentals/mining (**NOTE** if you want to successfully mine the block, better to mine in the testnet, difficulty there much more less than in the mainnet). Wallet operations (all for testnet (Goerli network)): -1. With already created wallet for metamask, get some free testcoins https://goerlifaucet.com. +1. With already created wallet for metamask, get some free test coins https://goerlifaucet.com. 2. Create a new wallet account (you can make it in some another wallet application https://ethereum.org/en/wallets/find-wallet/, but it is not so important, you can create just a new one in metamask). -3. Send coins from one account to another, and check that transaction https://etherscan.io (dont forget to change the network, by default its for mainnet, (top left button)). \ No newline at end of file +3. Send coins from one account to another, and check that transaction https://etherscan.io (don't forget to change the network, by default its for mainnet, (top left button)). \ No newline at end of file