✡️Sharing Your Code On Agnostico
Last updated
Last updated
A Github Account (Create one if you don't already have one, you can click here.)
Basic to Advanced knowledge of solidity (agnostico currently supports only solidity.)
Basic knowledge of IPFS
A non-custodial wallet browser extension. Metamask recommended.
a. Click on the Share navigation button on the top of the page as shown below
b. Click on the github signin button. You will be redirected to github to sign in
Agnostico uses (IPFS). This is to provide transparency and consistent availability. The content of the file is used to mint NFT to the creatorAddress address in the field specified
Two documents are required to share your code: The first is the contract code file itself; the other one is Agnostico Document Standard or “AgnoDoc”! However, both documents have strict rules for them to work on the platform after you share them. Let's explore both documents below:
Contract
Uploading your contract file from the platform is optional, the essence is to get the Content IDentifier (CID) of the file uploaded.
Must be a .sol file
Must be able to compile in solidity ^0.8.0.
Must not accept dynamic values from the constructor (Agnostico doesn't currently support upgradable contracts)
AgnoDoc
This Document must be uploaded on the platform, its CID will be used in the Agnostico's contract.
Must be a .json file
Must have the following fields:
name: The name you want to give the code you are sharing, make it descriptive and short
contractName: This is the name of the contract to be deployed when requested. If your contract looks like contract MyAwesomeContract is Context, Ownable {...}
, Your targetContract is MyAwesomeContract.
creatorAdddres: This is the address of the contract creator. It is also where payment will be sent for each deployment of submitted contract
categories: A list of key words that relates to the contract being shared.
external_url: Repo where other users can find the soidity file.
description: A short, description of the code being shared. What it does, etc.
image: The CID of the solidity contract file. It should look like this “QmXEdvbMdpMP3Pun...”.
deploymentVariables: If your contract uses varaibles in its constructor, provide them here as an array of objects with the following properties:
name: The name of the argument e.g tokenName, duration
dataType: The type of the argument e.g string, uint256
category: An array of strings describing the catgories of code, e.g token, erc20, timelock
Option 2: Fill in the form
Toggle the switch button and enter all the required information and click on the “
Once you click on continue, if you haven't connected your metamask wallet from before now, you will be prompted to do so. The IPFS CID for your AgnoDoc is hashed to bytes32 and stored in the smart contract for future reference.
Congratulations if you have successfully followed up till this stage, you are officially a code provider on Agnostico. Others can now deploy your code.
Should you decide to withdraw your code from our smart contract, you can interact with the factory at the following addresses: