Bitgert Blockchain Documentation
  • BRISE Chain Documentation
    • Getting Started
    • Become a validator
    • Contributing
    • BRISE Chain Explorers
    • Genesis File
    • Consensus
    • Introduction
  • Wallets
  • For Developers
    • Network Status Monitoring Guideline
    • Proxy Contract
    • Local Brise Chain Network
    • Deploy NFT
    • RPC
    • BRISE Chain Relayer
    • BRISE Chain Full Node Documentation
    • Wallet Providers
    • Verify Proxy Contract
    • Hardhat Verify
    • Truffle Verify
    • Deploy on Truffle
    • Deploy on Remix IDE
    • Smart Contract Tools
    • Create Wallet
Powered by GitBook
On this page
  • How to Verify Proxy Contract
  • Flatten your contract
  • Compile and deploy your contract with Remix
  • Compile Proxy Contract
  • Verify Proxy Contract on BscScan
  • Link these two contracts
  1. For Developers

Verify Proxy Contract

PreviousWallet ProvidersNextHardhat Verify

Last updated 1 year ago

How to Verify Proxy Contract

Please learn how to deploy an upgradable BRC20 contract

Flatten your contract

Install flattener

npm install truffle-flattener -g

Run the following command:

$ truffle-flattener BRC20TokenImplementation.sol > BRC20TokenImplementationFlattened.sol
$ truffle-flattener BRC20UpgradeableProxy.sol > BRC20UpgradeableProxyFlattened.sol"

Compile and deploy your contract with Remix

Compile Implementation contract

  • Open Remix IDE:

  • Select solidity language

  • Create new contract BRC20Token.sol and copy contract code from flattened BRC20TokenImplementationFlattened.sol

  • Compile the implementation contract

  • Click on this button to switch to the compile page

  • Select “BRC20TokenImplementation” contract

  • Enable “Auto compile” and “optimization”

  • Click “ABI” to copy the contract abi and save it.

Deploy the implementation contract

  • Select “Injected Web3”

  • Select “BRC20TokenImplementation” contract

  • Click the “Deploy” button and Metamask will pop up

  • Click the “confirm” button to sign and broadcast the transaction to TC.

  • Then, you need to initialize the token: fill in all the parameters and click on “transact”

Note: Owner should be the address who send the deploy transaction before.

  • Click on the “Copy” icon to save the initializatioin data: Like the following: ```

0xef3ebcb800000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fc41d5571120442d1bb82cea0884966e543cb78b000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000548454c4c4f000000000000000000000000000000000000000000000000000000
  • Confirm your transaction in MetaMask

Compile Proxy Contract

  • Create new contract proxy.sol and copy contract code from flattened BRC20UpgradeableProxyFlattened.sol.

  • Compile the proxy contractClick on this button to switch to the compile page

  • Select “BRC20UpgradeableProxy” contract

  • Enable “Auto compile” and “optimization”Click “ABI” to copy the contract abi and save it.

Deploy the proxy contract

  • Select “Injected Web3”Select “BRC20UpgradeableProxy.sol” contract

  • Fill in the parameters

Logic: The address of BRC20Implementation contract Admin: admin cannot be BRC20 token owner Data: use the initialization data you saved before

  • Click the “Deploy” button and Metamask will pop up

  • Click the “confirm” button to sign and broadcast transaction to TC.

Verify Proxy Contract on BscScan

Note: The way to verify the BRC20TokenImplementation contract is the same as before.

  • Go to your contact page and click on “Verify and Publish”

  • Select Single file

  • Copy your contract code below and check “Optimization” if it’s enabled

  • Contractor Data: Please use this site for getting the correct constructor data: https://abi.hashex.org/#

First, you need to copy ABI json of “BRC20UpgradeableProxy.sol” contractThen, click on “Parse”

Add all those 3 parameters as indicated. Then copy/paste the result.

That’s it! You have verified your proxy contract.

Link these two contracts

  • Click on “More Options” and choose “is this a proxy”.

  • Verify your proxy address

  • Confirm the implementation address.

If you go back to the contract page and you can see two more buttons “Read as Proxy” and “Write as Proxy”

https://remix.ethereum.org