Art Gobblers is an experimental decentralized art factory by Justin Roiland and Paradigm.
Art Gobblers is a decentralized art factory owned by aliens. As artists make cool art, Gobblers gains cultural relevance, making collectors want the art more, incentivizing artists to make cooler art. It's also an on-chain game.
See our overview of the system, as well as deep dives into some of the project's mechanisms, like GOO and VRGDAs.
You will need a copy of Foundry installed before proceeding. See the installation guide for details.
To build the contracts:
git clone https://github.com/artgobblers/art-gobblers.git
cd art-gobblers
forge installIn order to run unit tests, run:
forge testFor longer fuzz campaigns, run:
FOUNDRY_PROFILE="intense" forge testFor differential fuzzing against a python implementation, see here.
After installing Slither, run:
slither src/ --solc-remaps 'ds-test/=lib/ds-test/src/ solmate/=lib/solmate/src/ forge-std/=lib/forge-std/src/ chainlink/=lib/chainlink/contracts/src/ VRGDAs/=lib/VRGDAs/src/ goo-issuance/=lib/goo-issuance/src/'To update the gas snapshots, run:
forge snapshotIn order to deploy the art gobblers contracts, set the relevant constants in the DeployMainnet script, and run the following command(s):
export DEPLOYER_PRIVATE_KEY=$DEPLOYER_PRIVATE_KEY
export GOBBLER_PRIVATE_KEY=$GOBBLER_PRIVATE_KEY
export PAGES_PRIVATE_KEY=$PAGES_PRIVATE_KEY
export GOO_PRIVATE_KEY=$GOO_PRIVATE_KEY
forge script script/deploy/DeployMainnet.s.sol:DeployMainnet --rpc-url $RPC_URL --verify --etherscan-api-key $API_KEYWe use profanity2 to securely generate vanity addresses for the ArtGobblers, Pages, and Goo contracts. As a result, each of these contracts must be deployed using a unique private key. To simplify deployment, the deployment script ensures that only DEPLOYER_PRIVATE_KEY needs to be seeded with ETH, by automatically transferring 0.25 ETH from it to the other deployers before they are used.
To ensure security in case the private keys generated by profanity2 are compromised, the script immediately revokes GOBBLER_PRIVATE_KEY's ownership over ArtGobblers and transfers it to a configurable address. Pages and Goo do not grant any special authority to their respective deployers.
The following auditors were engaged to review the project before launch:
MIT © 2022 Art Gobblers



