Meet Buildo. He is here to help you start creating in the MultiversX blockchain ecosystem. Here is where everything begins.
Buildo is a cool guy 👊 \ — Beniamin Mincu (@beniaminmincu) June 4, 2022
npm install buildo-begins -g
or you can also run commands with npx, for example npx buildo-begins@latest issue-esdt
buildo-begins derive-pem
buildo-begins --help
Not all commands are ready yet, but you will find a complete list of token operations at: buildo.dev
Each command will display a set of self-explanatory prompts. If there is something that needs more explanation please let me know about it here.
buildo-begins derive-pem
- derive PEM file from seed phrasebuildo-begins init
- initialize the NextJS dapp template, Piggy Bank smart contract and dapp for learning purposes or Buildo.dev dappbuildo-begins herotag
- create a herotag and assign it to address and check addresses of existing onesbuildo-begins converters
- a set of converters based on excellent MultiversX (Elrond) Converters but in the CLI, always at hand!buildo-begins claim-developer-rewards
- Claim dev rewards from your smart contract. You have to use the owner's wallet address (PEM) when calling itbuildo-begins change-owner-address
- You can change the owner address of the smart contract you ownbuildo-begins account-store
- A wallet owner can store key-value pairs by using the built-in function SaveKeyValue which receives any number of key-value pairs.buildo-begins decode-transaction
- It uses sdk-transaction-decoder. It takes base64 encoded data, or data string.buildo-begins multi-transfer
- You can transfer multiple ESDTs at once (FT, NFT, SFT, meta)To create fungible ESDT keep the order of operations: issue-esdt
-> set-special-roles-esdt
buildo-begins issue-esdt
- issue new ESDT tokenbuildo-begins set-special-roles-esdt
- set special ESDT rolesbuildo-begins unset-special-roles-esdt
- unset special ESDT rolesbuildo-begins mint-burn-esdt
- mint/burn the ESDT token supply (requires ESDTRoleLocalBurn
, ESDTRoleLocalMint
roles)buildo-begins pause-unpause-esdt
- pause/unpause all transactions of the token (requires canPause
role)buildo-begins freeze-unfreeze-esdt
- freeze/unfreeze the token balance in a specific account, preventing transfers to and from that account (requires canFreeze
role)buildo-begins wipe-esdt
- wipe out the tokens held by a previously frozen account, reducing the supply (Wiping the tokens of an Account is an operation designed to help token managers to comply with regulations.)buildo-begins transfer-ownership-esdt
- The manager of an ESDT token may transfer the management rights to another Account. This operation requires that the canChangeOwner
is set to true.buildo-begins change-properties-esdt
- change ESDT token properties added when issuing the token, the canUpgrade
property has to be previously assignedbuildo-begins send-esdt
- send ESDT tokensTo create NFTs keep the order of operations: issue-nft
-> set-special-roles-nft
-> create-nft
buildo-begins issue-nft
- issue a new NFT collectionbuildo-begins set-special-roles-nft
- set special roles for NFTbuildo-begins unset-special-roles-nft
- unset special roles for NFTbuildo-begins create-nft
- create a new NFT, assets, attributes, etc.buildo-begins change-properties-nft
- change NFT token properties added when issuing the token, the canUpgrade
property has to be previously assignedbuildo-begins send-nft
- send NFT tokenTo create SFTs keep the order of operations: issue-sft
-> set-special-roles-sft
-> create-sft
buildo-begins issue-sft
- issue a new SFT collectionbuildo-begins set-special-roles-sft
- set special roles for SFTbuildo-begins unset-special-roles-sft
- unset special roles for SFTbuildo-begins create-sft
- create a new SFT with initial quantity, assets, attributes, etc.buildo-begins change-properties-sft
- change SFT token properties added when issuing the token, the canUpgrade
property has to be previously assignedbuildo-begins send-sft
- send SFT tokensTo create Meta ESDTs keep the order of operations: issue-meta-esdt
-> set-special-roles-meta-esdt
-> create-meta-esdt
buildo-begins issue-meta-esdt
- issue a new Meta ESDT collectionbuildo-begins set-special-roles-meta-esdt
- set special roles for Meta ESDTbuildo-begins unset-special-roles-meta-esdt
- unset special roles for Meta ESDTbuildo-begins create-meta-esdt
- create a new Meta ESDT, assets, attributes, etc.buildo-begins change-properties-meta-esdt
- change Meta ESDT token properties added when issuing the token, the canUpgrade
property has to be previously assignedbuildo-begins send-meta-esdt
- send Meta ESDT tokensMeta ESDTs are usually managed and used through smart contracts, but here you can issue, create and also set optional attributes as strings.
buildo-begins send-egld
- send EGLD tokensInternally Buildo uses the config.ts file, but when you use it as a globally installed npm CLI tool, you don't have to touch that file. What you need to do is to create the .buildobeginsrc
file, where you can change values (here are default values):
{
"chain": "devnet",
"customApi": "https://devnet-api.multiversx.com"
}
For now, the first version gives you basic stuff. But there will be much more:
npm run build
npm link
buildo-begins
names and replace them with yours.The Buildo tool is supposed to be not only a tool/product but also the source code for learning purposes and further derived tools.
The code is structured into directories based on the token type. The general-purpose functionality is in the root directory. Each Typescript file is a separate functionality. Some of them have to be triggered in proper order, like when issuing the token.
For now, some of the code is copied across token directories, and some functionality is almost the same for some token types. This is done for a purpose, to keep the logic for one token in one place and give the possibility for other developers to copy parts of the code without thinking much about what is where. It is also to make the learning path simpler. It may change in the future.