The Yeeter is a fully decentralized crowdfunding tool that gives you a DAO from day 1.
What follows are the manual steps using Etherscan to summon a Yeeter DAO. There are 4 main steps and 3 videos (around 5 mins each) in this walk-through. This is an alpha version of our summoning UI, 😂 very alpha and completely manual. But if you just can't wait for the UI just Y33t it! We want your feedback.
Before you dive into the contracts there are a few blanks you need fill in. Review the Yeeter Configuration Questions and make sure your team is aligned on the answers. Most of this information is required in the configuration steps below. It may be helpful to make a copy of the Yeeter Configuration Template to keep up with your data.
You will need to do a few transactions from a block explorer like Etherscan (Mainnet/Rinkeby) or Blockscout (Gnosis Chain)
The contract addresses you will need are available in the Moloch V2.5 README.md
Four steps:
At the end your Yeet should show on the Yeeter UI and you will have a DAO configured on the DAOhaus platform.
DaoSafeMinionSummoner
ContractGet DAO 2.5 factory address from the Moloch V2.5 README.md and search for that contract in the block explorer for the chain you are summoning on.
summonDaoMinionAndSafe
Function_saltNonce
: 0x
followed by any random hex number
0xe2dd0d5ead0d481a10be6059d76100ee
674280132
0x
and hex. The only requirement is that the number has not been used in a previous campaign. Use 1000000000
as the Max and generate a random number._periodDuration
: Length of period (velocity) in seconds.
3600
(1 hour in seconds)_votingPeriodLength
: Length of time for voting on DAO proposals measured in _periodDuration
48
(2 days)_gracePeriodLength
: Length of time DAO members are allowed to ragequit before proposals are passed measured in _periodDuration
48
(2 days)_approvedTokens
: Wrapped native token of the network you are deploying the Yeeter on. wETH
for Mainnet and Rinkeby. wxDai
for Gnosis Chain. Formatted as a string in an array. * Mainnet: ["0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"]
* Rinkeby: ["0xc778417E063141139Fce010982780140Aa0cD5Ab"]
* Gnosis Chain: ["0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d"]
details
Name of the minion safe
Click Write
Click Approve
in MetaMask
Go to Read Contract
button on block explorer and input number into daos
function. Sequentially Query numbers until the daos(uint256) method Response
results are empty:
Then Query the previous number to return the last addresses which will be the DAO you summoned.
Take note of the id
and moloch address
as you will need them in the following steps.
YeetSummoner
ContractGet Yeeter factory address from the Moloch V2.5 README.md
summonYeet
Function_moloch
: Address from the Read Contract
daos
function of the DaoSafeMinionSummoner
Contract
0xa57368072F96a5b6daBD9b5C70C08e0f0c7281bb
_wrapper
: Wrapped native token of the network you are deploying the Yeeter on. wETH
for Mainnet and Rinkeby. wxDai
for Gnosis Chain. Not formatted as an array. * Mainnet: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
* Rinkeby: 0xc778417E063141139Fce010982780140Aa0cD5Ab
* Gnosis Chain: 0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d
_maxTarget
: Maximum capitalization of the campaign measured in Wei
.
69000000000000000000
(69 ETH)_raiseEndTime
: When the campaign ends in UNIX epoch time.
1648830000
(Friday, April 1, 2022 4:20:00 PM)_raiseStartTime
: When the campaign starts in UNIX epoch time.
1647011460
(Friday, March 11, 2022 3:11:00 PM)_maxUnits
: The maximum units per address. Used to caluculate maximum an individual can contribute (_maxUnits
* _pricePerUnit
).
3
_pricePerUnit
: Each unit has a price measured in Wei
and contributors get 100 loot per unit (this is the minimum an address can contribute).
1000000000000000000
(1 ETH)details
Name of the Yeeter campaign
More on
Units
: Think of units as NFTs, a address can only mint up to the max and they get 100 loot in the DAO for each unit. So if the max per person is 1 xdai and each unit costs .1 xdai you would set _priceper unit to .1xdai (1000000000000000000 wei) and _maxUnits to 10. 10 * .1 = 1
Click Write
Click Approve
in MetaMask
Go to Read Contract
button on block explorer and expand the yeetIdx
function. Ex: 20
Input the yeetIdx
and Query the yeeters
function. Very this is the correct address by sequentially quering the next number until the yeeters(uint256) method Response
results are empty:
Then Query your yeetIdx
to return the last addresses which will be the Yeeter you summoned.
Take note of the address
as you will need it in the next step.
DaoSafeMinionSummoner
ContractsetUpDaoMinionAndSafe
Functionid
: id of DAO you summoned in step 1._summoners
: Addresses of your core team who are founding members of your DAO. These members will hold shares and have voting rights. Add your address first (will automatically get 1 share) and format as an array of strings.
_summonerShares
: Amount of shares for founding members of your DAO. Take into account the first address already has 1 share. Format as an array.
_summonerLoot
: Amount of loot for founding members of your DAO. Should probably be zero.
_shamans
: Address of the Yeeter Shaman you summonded in Step 2 formated as a string in an array.
Click Write
Click Approve
in MetaMask
/register/[Chain ID]/[moloch address]
to the end of the URL.
https://app.daohaus.club/register/0x4/0xa57368072F96a5b6daBD9b5C70C08e0f0c7281bb
* Mainnet: 0x1
* Rinkeby: 0x4
* Gnosis Chain: 0x64
NAME
and DESCRIPTION
and click Save
.LONG DESCRIPTION
accepts Markdown and will display when the 'Show More' button in the Yeeter interface is clicked.
Soft Cap
in the Yeeter UI use the TAGS
field.
sc:20
(20% of the Maximum capitalization of the campaign)Click Save
Click Sign
in MetaMask
Y33t!
Settings in the Register DAO steps are updatable using the DAOhaus App.