Development resources at your finger tips
Build with the coolest Web3 projects
Recurring funding for Open Source
Learn about Web3 & earn rewards
Show appreciation for each other
Meet fellow developers, designers, futurists and more. Collaborate and BUIDL awesome projects together.
Discover great web3 organizations, work on meaningful projects and build relationships with like minded people. Browse Tribes
Meet the top hunters and contributors from our community.
In partnership with Protocol Labs, we’re excited to welcome builders from everywhere to APOLLO, your mission control to engage with the builder…
Gitcoin is GDPR complaint. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
One of the main drawbacks of the contract as your account is that it creates a fixed cost for user acquisition. This can be improved by "counterfactual deployment" or, a method in which you can deterministically sign a transaction in which you are certain of what will be your final address, in a way that it can be deployed by anyone later. It has the following advantages:
1. The user knows their address immediately and doesn't have to wait for a transaction to be mined
2. The same address can be generated on all networks, including private or test networks, so the app can onboard users on a cheaper network (or a side chain) and then migrate them to the main chain only when required
3. The address can refund the deployer and therefore only deploy once the address has funds to pay back
4. almost as a side effect, it also allows the user to select their icon and address from multiple generated ones.
### How would this affect this app
The user interface would be changed very little by this, as it's mostly something that happens under the hood. One interesting thing that could be done would be to add one screen to the "create account" view in which allowed the user to pick an icon from a list of 16 generated ones.