In this course you'll learn about the many moving parts required to start building a full stack (descentralized) application based on the Ethereum network. How to write an smart contract, write tests and how to interact with it through a web application.
Lastly, you'll learn how to deploy your dapp to the blockchain.
Important SvelteKit is still in beta. Expect bugs! Read more here, and track progress towards 1.0 here. This course was recorded pointing to the version 1.0.0-next.437 of Svelte kit It will be updated after sveltekit reach version 1.0.0
Ok. Are you ready? Cool, this will be quite a journey but fun and full of challenges. A few this that you'll be able to learn.
- How to setup SvelteKit.
- How write an smart contract with Solidity.
- How to configure an Ethereum development environment.
- How to test an smart contract using javascript.
- How to connect a web application to a wallet.
- How to interact with a deployed smart contract.
- How to deploy an smart contract.
👋 I Matías Hernández, father, developer, podcaster, writer and instructor.
I started my journey many years ago (even before jQuery became a thing), though this years I tried many different things but web developmet has always been my passion. During the last 10 years I officialy worked as "Softare Engineer" or "Developer" (the role name depends on the company 🤷♂️) for many different projects. During this years I collected ideas, concepts and knowledge that I try to share in different mediums to help other developers to level up their careers.
I love what I do and I try to bring the same passion to the content creation trough courses at egghead.io, articles en FreeCodeCamp, my blog, Cloudinary and other publicationss and also with my podcasts Café con Tech & Control Remoto and finally thorugh my newsletter.
Find me in twitter as @matiasfha
The main requisits to start with ethereum development is an "intermediate" knowledege on javascript and web development in general, the idea is to bring you into this new and excinting world from scratch!
This are the things you need to susccessfully go through this course
- git v2.13 or above
- NodeJS
12 || 14 || 15 || 16
- npm v6 or superior
- Install Metamask (this will also be done through the course )
This tools need to be part of your system, you can check each version in the terminal
$ git --version
$ node --version
$ npm --version
If you like, you can fork this repository so you can store your progress.
- Clonse the repository
git clone https://github.com/matiasfha/getting-started-fullstack-ethereum-development.git
- Install the dependencies
cd getting-started-fullstack-ethereum-development.git
npm install
this can take a few minutes
If you have any problem during this process, please fille an issue.
The main
branch hold the final project ready to be tested, if you want to run locally to check what you'll build you can do it by
npm run start
This will:
- spawn a local ethereum network
- compile and locally deploy the smart contract
- Run the contract tests
- run the web application and open your browser
Now you just need to import an account into metamask to test the application locally This will be shown through the course
Each video lesson have a companion code that you'll be able to find in a corresponding branch named as lesson-XX
.
You can navigate through the branches to review the resulting code to follow the video lesson.
Each lesson will show you a little step towards the en goals. Also each lesson have it's own branch and it's own Readme file that will give you some resources and written content related with the video lesson.
- 01 - Initial Setup
- 02 - Smart Contracts
- 03 - Solidity Variables
- 04 - Transfer Money
- 05 - Testing the contract
- 06 - Improvements and security: Modifiers
- 07 - Deploying to local Ethereum network
- 08 - Setting up Metamask
- 09 - Connecting to the account
- 10 - Get network information
- 11 - Setup communication with the contract
- 12 - Send a tip!
- 13 - Withdraw
- 14 - Deploy
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!