You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The setup is like this; eth-tech-tree is a CLI for downloading, submitting and managing which challenges a user has completed. The repo that houses all the challenges in called eth-tech-tree-challenges. Each challenge is a new branch on that repo.
Create a new branch based on the main branch (which is set up to be a template for any challenge) with the name of the challenge e.g. 'social-recovery'
Write out a solution to the challenge in solidity using best industry standards as generically as possible by editing Challenge.sol and changing it's name to match the challenge
Write tests that cover the most common pitfalls and guarantee the contract operates as expected (Challenge.t.sol) - change it's name to match the contract
Update README in your challenge to give the user clarity about what they must accomplish and also any helpful resources (see the token-wrapper-weth challenge for an example)
Commit and push your changes to your remote repo, creating a new branch on your remote git push
Submit a PR to the main eth-tech-tree-challenges repo pointed to the branch that matches your challenge name e.g. 'social-recovery'
Adding the new challenge to eth-tech-tree CLI app
Edit challenges.json (in eth-tech-tree) to have proper values for each property
name: should match your branch name
repo: should be your repository
testName: should be the name of the test file
testHash: should be the hash of the test file. Use console.log to get this when taking the "submit challenge" action on your challenge when running eth-tech-tree CLI
Test downloading and submitting the challenge using the eth-tech-tree CLI yarn build && yarn cli
Commit and push changes to the eth-tech-tree in your own fork and branch called 'adding-[challenge branch name]' and submit a PR to the main repo 🎉
Later, in another task, we will erase your specific solution code from the git history for your new branch in eth-tech-tree-challenges.
Social Recovery challenge specifics
This challenge will require users to create a contract where a user can define a set of addresses that can restore access to the 'wallet' contract. The wallet contract can be intentionally simple since the challenge will be the social recovery aspect. Here is a description of what it should look like: https://www.argent.xyz/learn/what-is-social-recovery/
Feel free to ask any questions or express any ideas that will help the end user learn through this challenge.
It already has an object in challenges.json which has the name field 'social-recovery'.
The text was updated successfully, but these errors were encountered:
The setup is like this;
eth-tech-tree
is a CLI for downloading, submitting and managing which challenges a user has completed. The repo that houses all the challenges in calledeth-tech-tree-challenges
. Each challenge is a new branch on that repo.Follow the example left by the Token Wrapper WETH challenge and see how that challenge is configured in the challenges.json file in the eth-tech-tree repo.
Here are the steps for adding a new challenge:
Creating a new challenge
git push
Adding the new challenge to eth-tech-tree CLI app
yarn build && yarn cli
Later, in another task, we will erase your specific solution code from the git history for your new branch in eth-tech-tree-challenges.
Social Recovery challenge specifics
This challenge will require users to create a contract where a user can define a set of addresses that can restore access to the 'wallet' contract. The wallet contract can be intentionally simple since the challenge will be the social recovery aspect. Here is a description of what it should look like: https://www.argent.xyz/learn/what-is-social-recovery/
Feel free to ask any questions or express any ideas that will help the end user learn through this challenge.
It already has an object in challenges.json which has the name field 'social-recovery'.
The text was updated successfully, but these errors were encountered: