The introduction of new token standards and platforms has opened up exciting possibilities for developers and businesses alike. One such token standard is the ERC-3643, an identity-based token system that focuses on investor identity rather than wallet address.
In this guide, we will walk you through how to write and deploy an ERC-3643 smart contract using SettleMint's blockchain development platform.
ERC-3643 is a new token standard that is identity-based rather than wallet address-based. This means that instead of being tied to a specific wallet address, the tokens are tied to an investor's identity. ERC-3643 also includes automated compliance features that ensure transfers only occur if both the investor and offering rules are complied with.
SettleMint is the high-performance, low code blockchain development platform for building, deploying and integrating blockchain applications. With our visual dashboard development approach, minimal coding is required, which reduces the complexity and time required at every stage of the blockchain development process.
To deploy an ERC-3643 smart contract using the SettleMint platform, the first step is creating a SettleMint account. When setting up an account for the first time, you become eligible for €250 of free credits that allow you to test the platform.
Follow the steps below to set up your SettleMint account, and then start writing and deploying the ERC-3643 contract.
Below are snapshots of these stages.
We have chosen the Hyperledger Besu network to deploy an ERC-3643 smart contract. Now we can proceed to choosing a cloud resource pack for the selected network.
We assign a title to the network’s cloud resource engine, select shared server hosting, choose Google Cloud Brussels as the cloud region to optimize geo-latency and opt for the small option as the server resource pack.
After clicking 'Confirm', the Hyperledger Besu network is created.
Please be aware that when creating a Hyperledger Besu blockchain network, a Besu node component is automatically generated on your behalf. However, if you wish to attach an additional node to this default blockchain node, follow the process outlined below.
Select all the appropriate cloud resource options and then confirm to create the new node.
This plan involves assigning a name, specifying the deployment cloud resource package details, selecting the server type as ‘shared’, choosing your preferred cloud platform (in this case, ‘GCP’) and picking the region nearest to you. In this example, we are opting for a small resource pack, due to cost considerations and the fact that I'm deploying a simple smart contract on this resource pool.
We’ve now successfully completed the creation of a Hyperledger Besu network with a Besu Node component. We can then start creating the other components needed for the proper deployment of our ERC-3643 smart contract. These are outlined in the next three steps.
After navigating towards the storage area, click the ‘add storage button’ and select the options below.
Wait for a maximum of one minute for the deployment to complete.
The platform shows you the green check mark after it has been created successfully, so it’s now time to move on to creating the Graph Middleware.
The Graph is a decentralized protocol and middleware solution designed to simplify the process of querying and retrieving data from blockchain networks, particularly in the context of smart contract development.
By providing an accessible and efficient way to access on-chain data, The Graph empowers developers to build more sophisticated and user-friendly decentralized applications (dApps). One of SettleMint’s key differentiators is the fact it has The Graph as one of the middleware components that developers can use.
Navigate to the Middleware section of the SettleMint IDE dashboard, as shown in the image below. Then proceed by clicking the ‘Add Middleware’ button.
You will then see the following screen after clicking the ‘Add Middleware’ button and you should select the smart contract set to which you want to attach your middleware. For this guide, there is only one set available to choose.
As shown below, you will then need to choose The Graph as your middleware. You will also be asked to name your middleware and to select the cloud resource pool, before confirming your choice of The Graph middleware attached to Hyperledger Besu.
The Graph middleware is now created, as shown in the image below.
After selecting the above resource, click on the ‘Confirm’ button. The private key will go through a 30 second deployment window and then go live.
Search for the ERC-3643 permission token contract and select it. Give your smart contract a unique name and fill out the cloud resource pool section.
Navigate into the deployed smart contract runtime and go directly into the IDE section.
The platform brings up a VSCode-oriented IDE with a pre-configured ERC-3643 smart contract, as well as other dependency files.
Open the SettleMint IDE on your system. You'll be greeted by the main interface, which displays your project files and the integrated terminal.
In the SettleMint IDE terminal, run the following command to compile your smart contract:
yarn compile
Wait for the compilation process to complete. If successful, the compiled contract will be available in the 'build' folder.
yarn smartcontract:deploy
The above is the result of the yarn deploy command. The command was run and below you can see the result of a successful deployment.
In the SettleMint IDE terminal, run the following command to deploy the Graph Middleware:
python
yarn graph:all
After running the above command, the following screen displays:
This command will initialize and deploy the Graph Middleware, which will enable more efficient querying capabilities for your smart contract.
In the SettleMint IDE terminal, run the following command to test your smart contract:
bash
yarn test
In this guide, we have explored the process of deploying an ERC-3643 identity-based token contract using the SettleMint platform.
The SettleMint platform offers a high-performance, low-code approach to blockchain development, making it easier to write and deploy smart contracts. We have demonstrated the step-by-step process of setting up an account, creating a blockchain network, adding a node, creating IPFS storage, deploying The Graph middleware and generating private keys, before creating and deploying the ERC-3643 smart contract. Finally, we have also shown how to test the smart contract using the SettleMint IDE.
By following this guide, developers can easily deploy ERC-3643 smart contracts and leverage the benefits of SettleMint's platform to create powerful, secure and reliable blockchain applications.