aelf Explorer v1.3.0 Supporting Contract Deployment/Update without BP Approval

ælf
aelf
Published in
5 min readMay 11, 2023

--

aelf explorer has been upgraded to v1.3.0. The latest version of the explorer enables contract deployment/update on aelf blockchain without BP approval. It also optimizes the contract version number check.

With the latest explorer, developers can deploy/update user contracts, i.e. non-system contracts, without BP approval, provided that these contracts have implemented the ACS12 standards. This way, project/DApp deployment on aelf becomes easier and quicker. For the deployment/update that requires BP approval, the process remains unchanged and users can achieve that following the previous tutorial here.

In the following 6 situations, you can choose to deploy/update contracts without BP approval. Please note that for different conditions, the requirements for initiator differ.

  1. Deploying user contracts on shared SideChains, can be initiated by users or BPs.
  2. Updating user contracts on shared SideChains, can only be initiated by contract creators.
  3. Deploying user contracts on exclusive SideChains, can only be initiated by SideChain creators.
  4. Updating user contracts on exclusive SideChains, can only be initiated by contract creators.
  5. Deploying user contracts on MainChain, can only be initiated by BPs (The recommended contract deployment is on SideChains and we strongly encourage you to not deploy on MainChain).
  6. Updating user contracts on MainChain, can only be initiated by contract creators.

With the tutorial below, we will walk you through contract deployment/update without BP approval on aelf explorer.

Tutorial: Contract Deployment/Update without BP Approval on aelf Explorer

This tutorial uses Testnet explorer as an example and Mainnet explorer follows the same procedure. You can switch the networks when using it.

Before you start contract deployment/update, please make sure you have:

1. An aelf wallet address registered using NightELF or Portkey. Depending on the chain, the requirements for the types of wallet you can use differ:

  • If you are deploying/update contracts on the MainChain, only NightELF can be used. So you need to have the NightELF wallet extension installed on your browser and connnect it to aelf explorer.
  • If you are deploying/update contracts on SideChains, you can choose any of the supported methods, including connecting to NightELF or Portkey wallet extension, and using other personalised login options, including phone numbers, emails, Google accounts, Apple IDs associated with your Portkey wallet accounts or scanning code to log in.

2. Enough ELF tokens in your wallet to pay fees. If the deployment/update is on the MainChain, an extra 50,000 ELF method fee will be charged. Tip: Testnet ELF tokens can be claimed through this faucet;

3. The contract file for deployment or update. Please make sure that it has implemented the ACS12 standards.

Contract Deployment Without BP Approval

Visit the governance page and click the “Login” button to connect to NightELF wallet extension.

After it’s connected, select “Apply” — “Deploy/Update Contract” — “Deploy Contract”.

Select “Without Approval” in the Approval Mode dropdown menu, enter a name for the contract, and upload the contract file. Then click “Apply” to submit the proposal.

Requirements for names:

  • 150-character limit: excessive characters will not be accepted;
  • Characters supported: uppercase and lowercase letters, numbers, period “.” and comma “,”
  • The same name can not be used repeatedly.

If the deployment is on the MainChain AELF, a 50,000 ELF method fee will be charged.

After clicking “Apply”, you can see the progress in a pop-up window. Deployment without BP approval is carried out automatically and will take around 1–10 minutes. While waiting, you can close the pop-up window, but please keep the explorer page open. The whole process is divided into 2 parts:

  • Deployment verification

Verify if the contract meets the requirements, including pre-validation of the deployment transaction, execution of the transaction, and contract code check.

  • Deployment execution

Release the contract deployment proposal and deploy the contract.

After the contract is deployed, its address will be provided and you can click to check the contract.

Contract Update Without BP Approval

Visit the governance page and click the “Login” button to connect to NightELF wallet extension.

After it’s connected, select “Apply” — “Deploy/Update Contract” — “Update Contract” — “Update Contract File”.

Select “Without Approval” in the Approval Mode dropdown menu, find the address of the contract to be updated, and upload a new contract file. Then click “Apply” to submit the proposal.

If the update is on the MainChain AELF, a 50,000 ELF method fee will be charged.

After clicking “Apply”, you can see the progress in a pop-up window. Update without BP approval is carried out automatically and will take around 1–10 minutes. While waiting, you can close the pop-up window, but please keep the explorer page open. The whole process is divided into 2 parts:

  • Update verification

Verify if the contract meets the requirements, including pre-validation of the update transaction, execution of the transaction, and contract code check.

  • Update execution

Release the contract update proposal and update the contract.

After the contract is updated, its address will be provided and you can click to check the contract.

About aelf explorer:

As a vital part of aelf network and the foundation for aelf ecosystem, aelf explorer enables users to keep track of all the on-chain activities, including real-time blockchain data, transaction history, and proposals. With it, developers can deploy contracts onto aelf and ELF holders can participate in the governance of the ecosystem through node election and voting.

Join us on TG or Discord to stay tuned and interact with aelf communities:

Telegram: https://t.me/aelfblockchain

Discord: https://discord.gg/bgysa9xjvD

--

--

ælf
aelf

ælf, the next breakthrough in Blockchain.