This is a site for deploying and checking completion of Solidity challenges for
SwampCTF. We need a way to securely verify
competitors have completed a challenge. Best way to see if competitors were able to understand and
execute an exploit for the challenge is to have them exploit an actual live contract on
the test network.
Create an Ethereum account using the MetaMask extension.
Change your network to Ropsten Test Network. Copy the challenge contract code into a file on
Remix (or any tool which can interact with the Ropsten test net)
and paste the deployed contract's address into the At Address space in the Run tab. You can interact with
the contract through Remix. Make sure your environment in
Remix is Inject Web3 on Ropsten and
you've set the correct compiler version listed at the top of the contract next to pragma solidity. Get
Ether at Ropsten Faucet or MetaMask Faucet.
Ropsten Test Network
Navigate to the challenge page and click Deploy. Once the transaction has completed and the
contract is deployed on the test net, the address will be returned. Interact with the on-chain contract and complete the
challenge. Each challenge goal is defined in the isComplete() function of the contract. Click the Check Solution
button to verify you've completed the challenge, and once the verification has completed, click Get Flag to
retrieve the flag to submit to CTFd.