Understand development and deployment knowledge and let users become BUIDL.
When you don't know how to deploy the contract, you may not call it BUIDL.
Every airdrop enthusiast will enter the chain and applications as a user, but from the perspective of the chain, users have certain hierarchical boundaries. Among them, application developers are the value to the chain. biggest.
The dApp developed by application developers can attract users to use it. Gas will be generated during use. Developers will deploy contracts on the chain and actively attract users to perform chain operations. The value of the chain itself will increase infinitely.
Therefore, having development capabilities or simple development knowledge is a better way to increase your chances of getting airdrops, or to be more precise, to become a real builder on the chain.
This article discusses a kind of simple development knowledge needed by users who like to experience chain operations. Among them, it does not involve building the front end, building a development environment or corresponding operations of the SDK. This article aims to popularize general users into the theoretical stage of development experience for novices. If you want to continue to learn other in-depth knowledge, you can continue to learn.
Blockchain is not just a general ledger. All public chains that exist today are designed for superficial application development.
The development knowledge for understanding the chain is consistent with the Internet development and application itself. In terms of architectural understanding, only the backend has become a chain, and the data status originally in the database has become the data status on the chain.
To develop Internet applications, you first need to purchase cloud services (in earlier times, you may access the network through computing devices or deploy them as servers). If we purchase two servers, one for front-end deployment and one for deployment Back-end, purchase a website, configure the website and front-end development parts, and then develop the back-end to manage data. The interactive data of the website will enter the back-end when used, and front-end users need to obtain feedback data when operating. When operating again, it is executed after accessing the data status in the database.
Based on such a complex process, in traditional applications, users basically cannot feel the backend, but in the blockchain, they can clearly feel the frontend and backend.
The backend of dApp turns the servers and databases used in Internet application development into the chain and the overall state on the chain.
During development, the back-end chain exposes a remote call interface rpc, and all developers and applications operate the chain through this interface.
This is why when using MetaMask to experience different dApps, you need to add different networks to the dApp. When adding a network, the url represents the access point of the rpc.
In other network designs, there is another way to upgrade dApp again. If a chain only uses one RPC, and a large amount of interaction is required, the access process will be congested before the task is submitted to the chain.
At this time, if it is possible for the application side to build its own RPC, it will have a greater advantage, but currently in the public chain field, with the current POS design, there are not many dApps that operate in this way.
At this point, we can basically figure out that when we interact with the chain for development actions, we will need a wallet and an rpc port.
After getting the entrance, the next step is how to perform operations on the chain.
Ethereum is known as the world computer. It can run various types of automatically executed smart contracts. This process is carried out by deploying contracts to the network and being executed by EVM.
The term virtual machine VM is a word that will definitely be mentioned in the cloud service industry. We can think of the computing equipment in the Ethereum network as a huge computing storage area, that is, a virtual machine. The virtual machine allows intelligence The contract has the ability to run and complete the execution of task instructions.
Then smart contracts become the key, and the core link for developers to experience is smart contracts.
The deployment of smart contracts is divided into writing the code first, compiling the code second, and deploying it third. After the deployment is completed, the contract function can be called directly.
Ethereum has fixed tools, and these tools have been extremely simplified. After understanding the entire process, you can try the entire process by looking carefully.
Remix, Hardhat, and OpenZeppelin are currently the simplest and most open tools. In addition to these open source tools, there are also tools such as Thirdweb that can assist development and simplify some processes.
Recently, we have experienced the testnets of Berachain, Taiko, Shardeum and other public chains. You can learn about development knowledge from the experience process of these chains.
First of all, I am a normal user and I use MetaMask operations to interact with the network. The first step is to add the test network to MetaMask and obtain the tokens in the test network. The test network tokens are collected from the test network faucet. The quantity is limited. The collection is announced in the official documents of the three projects. In the process, the test tokens of these three chains are Bera, ETH, and SHM.
It can be found that Berachain and Shardeum are both L1 and use their own native tokens, while Taiko is L2. The goal of existence is to expand Ethereum, so ETH is used, and because Ethereum has a public test network, Taiko Ethereum's own test network was also used to conduct some functional tests. If users want to experience it, they need to know which chain it will ultimately implement.
After getting the experience tokens from the faucets of the three chains, the next step is to try how to use development tools to deploy the contract to the chain.
So there are three steps in the next step: find the contract, modify the contract, and complete the contract deployment in the IDE.
The documentation pages of the three projects will clearly indicate which tools will be supported for corresponding contract deployment. After checking, these three projects all support the use of Remix for deployment, so we will use Remix for this process.
Remix is an online editable environment, which is very convenient. There is no need to use other more complex tools such as SDK or terminal. However, the simple process in this article is only a one-time deployment. Contract modification and call testing still require other Tool execution.
On OpenZeppelin, several commonly used token issuance contracts are modularly displayed. We can directly select the function and jump directly. Go to Remix.
This is the initial page:
Then I made some modifications to the contract that issued the token. Set up, use the full name of Wyz Research, the abbreviation of Wyz, select pre-release in the function, and specify the control ownership of the contract. Through these operations, the contract code on the right has the builder shown in the first red box, and the pre-release tokens also have addresses to point to.
Next, click Open in Remix in the upper right corner, and we can start editing in the Remix interface.
Before you start editing in the Remix interface, please adjust the network and wallet addresses in MetaMask correctly.
After entering the page, we need to modify the two corresponding addresses above. I used the wallet address to replace them. The display is as follows:
Then click Auto complie on the left, which means automatic compilation. If there is no automatic compilation, you need to click the blue button on the left. When a green check mark appears on the far left. Then click the button under the green check on the left to enter the deployment page.
When the wallet has been modified correctly, click on the account part in the upper left corner. This position represents the account for paying gas, and the position below represents the deployment address. Select it. Afterwards, the following display appears:
Click Deploy, MetaMask will pop up to pay the gas fee for this operation.
During the contract deployment process, the contract pending will be displayed on the lower side of Remix
After the contract is deployed successfully, the lower side Transaction successful will be displayed.
After the deployment is completed, click the button in the wallet to enter the browser to view the transaction, you can find that, We have just completed the action of creating a contract, and during the execution of the contract, the corresponding token was sent to one of the tokens.
When you click on the address again to view it, you will find that I Mint 1000W tokens in the address. However, it seems that due to the testnet browser, the token name is not displayed, and this issue remains to be verified.
This deployment uses Shardeum. If deployed on Berachain and Taiko, the process is the same. You only need to adjust the corresponding network in the wallet. Online IDEs such as Remix provide a simple entrance to network operations.
To carry out certain development operations on the chain, it is the simplest construction attempt for non-application users. You can try to use contracts to issue some assets, or to fork the codes of other dApps. Each dApp is on the chain. Contracts all interact through combinations. For example, the swap we see in Uniswap is one contract, and the one that provides LP is another contract.
Compared with Dex, other Defi and Gamefi contracts are more complicated. Although the development process is complex and lengthy, for enthusiasts, understanding its principles can help chains and applications build more.
PS: Next, Wyz Research will also dismantle dApps such as Defi and Gamefi and introduce their design ideas and structures to readers, so stay tuned.
The above is the detailed content of What are the necessary development knowledge for airdrop enthusiasts?. For more information, please follow other related articles on the PHP Chinese website!