Skip to content

pluto/solidity-verifier

Repository files navigation

Pluto Onchain Verifier

This is a simple contract that verifies signatures from a given notary.

The contract is deployed on Base Sepolia at 0xeB3Ba25400A4d716d091090942705aD51d04B7ea

Deployment & Verification

This command will deploy the contract and automatically verify it on Basescan.

  1. Set your Private Key: This is required to sign the deployment transaction.

    export PRIVATE_KEY="<YOUR_PRIVATE_KEY>"
  2. Set your Basescan API Key: You need an API key from Etherscan (which works for Basescan) to publish the source code. You can get one for free from the Etherscan website.

    export ETHERSCAN_API_KEY="<YOUR_ETHERSCAN_API_KEY>"
  3. Run the deployment script:

    forge script script/SignatureChecker.s.sol:VerifierScript \
      --rpc-url https://sepolia.base.org \
      --private-key $PRIVATE_KEY \
      --broadcast \
      --verify \
      --verifier etherscan \
      --etherscan-api-key $ETHERSCAN_API_KEY \
      -vvvv

Manual Verification

If the deployment script succeeds but verification fails for some reason, you can verify it manually.

  1. Find your contract address and constructor arguments: After a successful deployment, Foundry saves a receipt in the broadcast/ directory. Look inside broadcast/SignatureChecker.s.sol/84532/run-latest.json.

    • The contract address is under receipts[0].contractAddress.
    • The constructor arguments are the long hex string under transactions[0].constructorArguments.
  2. Run the verify command:

    forge verify-contract <CONTRACT_ADDRESS> src/Verifier.sol:PlutoAttestationVerifier \
      --chain base-sepolia \
      --verifier etherscan \
      --etherscan-api-key $ETHERSCAN_API_KEY \
      --constructor-args <CONSTRUCTOR_ARGS>

About

Contract to verify notary signatures on chain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •