Welcome to the ArchiDAO Ethereum Developer Companion
Early version of this guide were developed as a companion to the AthensLabs Blockchain Developer Bootcamp 2022. We have been updating this guide for use of Blockchain in Architecture-Engineering-Construction, including upgrading tutorials on newer development frameworks. Still, some of the fundamentals on blockchains remain unchanged. The guide focuses on the Ethereum ecosystem, currently (Nov 2023) the most vibrant smart contract and blockchain development ecosystem.
It is designed as a series of structured links and content that will provide you with the basic knowledge to develop decentralised applications.
- The companion is used as a source of information on active learning that you have to develop, by designing, coding and deploying an actual decentralised application.
Onboarding
Setting up a development environment
- Linux distribution
- Windows
- MacOS: Latest is v13 ‘Sonoma’ (sep 2023)
- Options for Ethereum Nodes
- Deployment of a personal development environment
- Editors and IDEs (Integrated development environments)
- Git clients
Review of blockchain technologies
- Blockchain Context
- Distributed Ledgers
- Consensus Mechanisms
- Transactions and Blocks
- Mining & Staking
- Network Peer Discovery and Messaging
- Public and Private Blockchains
- Distributed Ledger Platforms
Blockchain Basics
- Cryptography
- Cryptographic Hash functions
- Using Cryptograpic Hash functions
- Public Key Cryptography
- Merkle Trees
- Using Merkle Trees
- Blockchain Structure
- Building a Blockchain
- Smart contracts
- Blockchain Nodes
- Blockchain Forks
“Ethereum” Primitives
Traditional and Decentralised application development
Development frameworks and environment
Solidity Fundamentals
Writing Smart Contracts
Token Standards - EIPs
Solidity Libraries & Design Patterns for Smart Contracts
Ethereum and the end User
Testing & Debugging
//: # (add more good links here)
Full Learning Guides
Frameworks
Learning through Gamification
Visual No-Code Builder
Full Stack Development Tutorials
Developer Video guides
Decentralised Finance - DeFi
Decentralised Autonomous Organisations - DAOs 道
Fungible & Non-fungible Tokens
- ERC20
- Other token Standards
- ERC777
## Token Engineering
* Token engineering academy
Developers on YouTube
Advanced Topics
Ethereum 2
- Sharding
- How to set up an ethereum 2 node
- Ethereum 2 node software
Other smart contract langugages
How Ethereum is Built
- Ethereum Improvement Proposals
- Core Ethereum
Policy
Cryptography
Non-Fungible Tokens
News, Reviews and Interesting Sites
Interesting Articles
History
Out of the Ether
Infinite machine
Where to ask for Help
Additional GitHub Repositories
Technical Research
Where to find a job
Companies
Learning Outcomes
By Following the Companion, learners will be able to show evidence of:
’’’
- Describe Blockchain primitives and basics and give examples for their usage.
- Prepare and demonstrate setting up a development environment for Ethereum.
- Compose basic Smart contracts and their tests and deploy them in a test environment.
- Produce an evaluation of common security issues in smart contracts.
- Build, Deploy and showcase a decentralised application on Ethereum.
‘’’
Indicative Workload: Minimum 10 hours per week, with at least 4 hours per week hands-on practice.
Recommended Workload: 20 hours per week, with 10 hours per week devoted to hands-on practice.
maintained by