Speed Run Ethereum aims to provide a structured learning path for onboarding developers to Ethereum.
๐โโ๏ธEthereum Dev Speed Run with a framework for submitting challenges, get feedback from ethereum builders, and in the process unlocking new challenges and prof of completion.
Get the project code:
git clone [email protected]:BuidlGuidl/SpeedRunEthereum.git
cd scaffold-directory
Install dependencies:
yarn install
Start the backend service:
yarn backend
In a new terminal, start the frontend:
yarn start
At this point, you should have the app available at http://localhost:3000. By default, a locale JSON file (packages/backend/local_database/local_db.json
) is used as the database. This is intended for testing and demo usage. In order to set it up for production usage, we provide a Firebase database adaptor. You can also easily create your own database adapter (check packages/backend/services/db.js
).
If you want to use Firebase (firestore) for data storage, you'll need to create a Firebase project and download the service account key configuration. You can generate and download the service account file at https://console.cloud.google.com/ by 1.) select your Firebase project, 2.) go to IAM & Admin > Service Accounts, 3.) create a service account or click one that is already created, 4.) go to keys of that account, and 5.) Add Key > Create key and select a JSON key type.
Then you will have to create a .env
file in packages/backend/
with DATABASE_SERVICE=firebase
and add the full path to the service account file in GOOGLE_APPLICATION_CREDENTIALS
(see a sample here packages/backend/.env.sample
).
Then re-run:
yarn backend
๐ฑ Open http://localhost:3000 to see the app
List all builder profiles:
View a builder profile:
Connect your ethereum wallet by clicking "Connect Ethereum Wallet" -> Sign up / Sign in by clicking the "Sign a message to Sign up.." button and signing the message:
This opens your profile view:
Submit the solution to a challenge by 1.) clicking a challenge in your profile view, 2.) complete the challenge according to the description (found by clicking the "Link to challenge"), 3.) past the URL with your solution and 4.) submit it by clicking the submit button and signing the message.
Admins can review challenge submissions in the "Review Challenges" tab (only visible to admins). The admin will check the check out the solution, optionally write a message to the submitter and approve or reject the submission by clicking the corresponding button and signing a message.
In order to set an admin in the local database file, add
"role": "admin"
to the user objects inpackages/backend/local_database/local_db.json
and re-runyarn backend
.