Available on Testnets (RINKEBY, GOERLI, BSC and FANTOM) and Mainnet (BSC, MATIC, FANTOM, HARMONY)

This dApp is currently in beta, some functionalities may be broken. We appreciate your feedbacks. agnostico_link

I'm Sharing

I'm Deploying

The information below is subject to frequent change as Agnostico is under active development. Please check back often for updates !!!

EVM-compatible blockchains have contributed to the growth of cryptocurrency adoption recently. Developers now implement various standards customized to suit their purpose when creating dApps for their projects, as we see in the surge of the DeFi dApps from 2020 and lately, tokens with reflections.

Since all the information on the public blockchains is public, the space thrives with open-source initiatives, so it is possible to find the source code of smart contracts on explorers such as etherscan and bscscan then implement them in your own dApp.

Agnostico initiative gives open-source smart contract developers a choice to publicize their codes on the platform to make reusing them by others as easy as deploying a contract without writing a single line of code. Instead of leaving your codes idle on Github and etherscan / bscscan / polygonscan, share your code with Agnostico and be a part of our dynamic community.

Make sure you have read and understood our Terms and Condition before using the platform.

Advantages of Sharing Your Contracts on Agnostico

  • Visibility: There is exposure for developers who provide their codes for reuse. (more on this below)
  • Open Source: Every code on Agnostico MUST be open-source. Your provision will contribute to the growth of an open-source initiative.
  • VIPs: The platform is ever-evolving, and developers who provide their codes are first-class citizens.

If you are convinced at this point to share your code for others to reuse on this platform, please proceed to the section below to learn how.

Steps to share your code

Prerequisites

  • 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.)
  • A basic knowledge of IPFS
  • A non-custodial wallet browser extension. Metamask recommended.

1. Authentication

a. Click on the Share navigation button on the top of the page as shown below

developer-signin

Developer sign in flow (i)

b. Click on the github signin button. You will be redirected to github to sign in

developer-signin

Developer sign in flow (ii)

2. Add Code To Share

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

document-upload

Document Upload

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
    agnodoc-sample

    Sample AgnoDoc with expected fields

    Option 2: Fill in the form

    Toggle the switch button and enter all the required information and click on the “

    optional-upload

    Optional upload

    optional-upload (i)

    Deployment Variables Dynamically Added

3. Add AgnoDoc To Agnostico Factory Contract

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.

optional-upload

Upload in progress showing summary of the information entered

add-to-agnostico

Added to agnostico, miniting NFT (CODE) to creatorAddress

add to agnostico

Completed

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: