Elrond blockchain CLI helper tools - interaction with APIs, smart contracts and protocol

Overview

Buildo Begins 👷

Meet Buildo. He is here to help you start creating in the Elrond blockchain ecosystem. Here is where everything begins.

I'm going on an adventure! The road goes ever on and on.

Buildo is a cool guy 👊

— Beniamin Mincu 🔥 🌓 (@beniaminmincu) June 4, 2022

Walkthrough videos

With what he will help you (not all is available yet!):

  1. Deriving PEM files
  2. Making transactions
  3. Deploying smart contracts
  4. Smart contracts interactions
  5. Common API interactions and filtering
  6. Sky is the limit...

TODO

For now, the first version gives you basic stuff. But there will be much more:

  • examples for interaction with smart contracts,
  • proper erdjs interactions,
  • ABI usage,
  • custom operations on API
  • Gandalf's wizarding shit and stuff, you will be amazed for sure!

How to work with Buildo:

  1. Install globally npm install buildo-begins -g
  2. Derive the pem from seed phrase: buildo-begins derive-pem
  3. The walletKey.pem file will be created
  4. Check the commands with buildo-begins --help
  5. Use one of available commands, check them below.
  6. You will get some prompts, fill up the required data

Available commands for Buildo (for now, there will be more):

  1. buildo-begins derive-pem - derive PEM file from seed phrase
  2. buildo-begins send-egld - send EGLD tokens
  3. buildo-begins send-esdt - send ESDT tokens
  4. buildo-begins send-sft - send SFT tokens
  5. buildo-begins send-nft - send NFT token
  6. buildo-begins send-meta-esdt - send Meta ESDT tokens
  7. buildo-begins issue-esdt - issue new ESDT token
  8. buildo-begins set-special-roles-esdt - set/unset special ESDT roles
  9. buildo-begins mint-burn-esdt - mint/burn the ESDT token supply (requires special roles)
  10. buildo-begins herotag - create a herotag and assign it to addres and check addresses of existing ones

What is awesome here is that you don't have to worry about proper nonce, decimal places, or differentiation between the NFT token id and collection ticker. The maximum amount of arguments will always be the address, token id, and amount. It will differ for each type, but these are maximum.

How to use the config file?

Internally 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 default values):

{
  "chain": "devnet",
  "customApi": "https://devnet-api.elrond.com"
}

Development:

  1. Clone the repo
  2. Each change needs npm run build
  3. You can link the lib locally by npm link
  4. If you want to build your version, find all the buildo-begins names and replace them with yours.

Real live examples that use a similar approach:

You might also like...

Perpetual Protocol Curie (v2) core contracts

Perpetual Protocol Curie (v2) core contracts

Dec 15, 2022

A REST helper for Next.js APIs

REST controller for Next.js How does it work? Create restful controllers in Next.js Example: Inside /pages/api/auth/[...handler] (filename must be a r

Jul 30, 2022

A simple implementation example (framework) of Deso Protocol's Smart Services.

This project serves as a simple implementation example (framework) of Deso Protocol's Smart Services. This framework comes with out-of-the-box SSL, MongoDB, dev/stage/prod environments, and modularity.

Sep 22, 2022

Boilerplate starter template for a new TON blockchain project - FunC contracts, JS tests, compilation and deployment scripts

TON Starter Template - Contracts Starter template for a new TON project - FunC contracts, JS tests, compilation and deployment scripts Overview This p

Dec 17, 2022

Ethereum Smart Contracts for locking your Ether and ERC20 tokens based on time and price conditions

SmartHold - a simple way to lock and hold your ETH or ERC20 in a smart contract This is a BETA software that has not been audited for security. USE AT

May 5, 2022

Yet another library for generating NFT artwork, uploading NFT assets and metadata to IPFS, deploying NFT smart contracts, and minting NFT collections

eznft Yet another library for generating NFT artwork, uploading NFT assets and metadata to IPFS, deploying NFT smart contracts, and minting NFT collec

Sep 21, 2022

♦ Crowd funding project using Smart Contracts on the Ethereum. Created with Next.js and Tailwind CSS.

♦ Crowd funding project using Smart Contracts on the Ethereum. Created with Next.js and Tailwind CSS.

Crowdcoin ♦ Crowd funding project using Smart Contracts on the Ethereum. Created with Next.js and Tailwind CSS. Project from "Ethereum and Solidity: T

Dec 14, 2022

Run CosmWasm smart contracts in Node.js and web browsers

Run CosmWasm smart contracts in Node.js and web browsers

Nov 25, 2022

a quick start boilerplate for developing web3 apps and deploying smart contracts.

create-web3 A boilerplate for starting a web3 project. This boilerplate quickly creates a mono repo with 2 environments, a Next JS environment for fro

Dec 16, 2022
Comments
  • issue, mint, burn, roles for esdt

    issue, mint, burn, roles for esdt

    • added buildo-begins issue-esdt command for issuing new ESDT tokens
    • added buildo-begins set-special-roles-esdt command for setting and unsetting special ESDT roles - local mint, and local burn
    • added buildo-begins mint-burn-esdt command for minting or burning ESDT token supply (requires special roles from the command above)
    opened by juliancwirko 1
  • pause and freeze esdt

    pause and freeze esdt

    • added buildo-begins pause-unpause-esdt - a command for pause or unpause all transactions of the token (of course, you need the canPause role on such ESDT)
    • added buildo-begins freeze-unfreeze-esdt - a command to freeze/unfreeze the token balance in a specific account, preventing transfers to and from that account (of course, you need the canFreeze role on such ESDT)
    opened by juliancwirko 0
  • meta sft nft esdt send functionality

    meta sft nft esdt send functionality

    • added buildo-begins send-esdt command for sending ESDT tokens
    • added buildo-begins send-nft command for sending NFT tokens
    • added buildo-begins send-sft command for sending SFT tokens
    • added buildo-begins send-meta-esdt command for sending Meta ESDT tokens

    Not keeping the DRY, but it isn't so bad, and I think it is good to have it more readable for learning purposes. And also, it can be simpler to decouple the functionality if someone wants to build something custom.

    opened by juliancwirko 0
  • 👷 What should Buildo handle for you?

    👷 What should Buildo handle for you?

    The overall plan for Buildo is to simplify some operations and not to relay on erdpy. It is not because the erdpy lib is terrible or something. It is a great library. Buildo's main idea is included in three main points:

    1. There will be essential operations like making transactions, deploying smart contracts, and 'automated' interactions with smart contracts based on ABI. But also not standard API interactions, filtering, and exports. All with simplified CLI, including a predefined configuration file in JSON format.
    2. Because the erdjs is a Typescript/JavaScript library, the whole Buildo will be an excellent source for learning purposes for newcomers. Most of the developers know the language.
    3. Buildo can also be a good starting point for any custom CLI tool which will rely on erdjs SDK. So you can take it and build upon it.

    Please leave your comments below. Let us know what functionality would you like to have, what could be simplified, and what kind of API operations would you like to simplify. What types of data processing would you like to find here? Thanks!

    opened by juliancwirko 8
Releases(v0.7.2)
  • v0.7.2(Dec 17, 2022)

  • v0.7.1(Dec 11, 2022)

    • added buildo-begins account-store (Account storage) - you can now save custom data under an account as key-value pairs
    • updated dependencies
    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Dec 3, 2022)

  • v0.6.0(Nov 1, 2022)

  • v0.5.0(Oct 2, 2022)

    • added buildo-begins claim-developer-rewards - Claim dev rewards from your smart contract. You have to use the owner's wallet address (PEM) when calling it
    • added buildo-begins change-owner-address - You can change the owner address of the smart contract you own
    • bump versions for erdjs related dependencies and dev dependencies
    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Aug 31, 2022)

  • v0.3.2(Aug 24, 2022)

  • v0.3.1(Jul 24, 2022)

  • v0.3.0(Jul 24, 2022)

  • v0.2.2(Jul 10, 2022)

    • added buildo-begins wipe-esdt - a command for wiping 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.)
    Source code(tar.gz)
    Source code(zip)
  • v0.2.1(Jun 21, 2022)

    • added buildo-begins pause-unpause-esdt - a command for pause or unpause all transactions of the token (of course you need canPause role on such ESDT)
    • added buildo-begins freeze-unfreeze-esdt - a command to freeze/unfreeze the token balance in a specific account, preventing transfers to and from that account (of course you need canFreeze role on such ESDT)
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Jun 17, 2022)

  • v0.1.0(Jun 12, 2022)

    • added buildo-begins issue-esdt command for issuing new ESDT tokens
    • added buildo-begins set-special-roles-esdt command for setting and unsetting special ESDT roles - local mint, and local burn
    • added buildo-begins mint-burn-esdt command for minting or burning ESDT token supply (requires special roles from the command above)
    • more operations on ESDT soon. Stay tuned!
    Source code(tar.gz)
    Source code(zip)
  • v0.0.3(Jun 4, 2022)

    • added buildo-begins send-esdt command for sending ESDT tokens
    • added buildo-begins send-nft command for sending NFT tokens
    • added buildo-begins send-sft command for sending SFT tokens
    • added buildo-begins send-meta-esdt command for sending Meta ESDT tokens
    Source code(tar.gz)
    Source code(zip)
  • v0.0.2(Jun 3, 2022)

Owner
Elrond's Dev Guild
All about developing on the Elrond blockchain - docs, open-source tools, community, learning materials. Not official. Community-based.
Elrond's Dev Guild
📡Usagi-http-interaction: A library for interacting with Http Interaction API

?? - A library for interacting with Http Interaction API (API for receiving interactions.)

Rabbit House Corp 3 Oct 24, 2022
Elven Tools Dapp - Elrond blockckchain frontend dapp demo. Primarily for NFT minting, but it can be used for other purposes.

Elven Tools Dapp Docs: elven.tools/docs/landing-page.html Demo: dapp-demo.elven.tools Sneak peek: youtu.be/ATSxD3mD4dc The Dapp is built using Nextjs

Elven Tools 24 Jan 1, 2023
🌳📝 Smart contracts for the Arbor Protocol

Arbor Smart Contracts app testnet landing docs discord blog twitter Security Please report any security issues to [email protected] V1 Smart Contr

Always Be Growing 15 Nov 21, 2022
The Easel Javascript library provides a full, hierarchical display list, a core interaction model, and helper classes to make working with the HTML5 Canvas element much easier.

EaselJS EaselJS is a library for building high-performance interactive 2D content in HTML5. It provides a feature-rich display list to allow you to ma

CreateJS 8k Dec 29, 2022
JellyChain1 is a blockchain network platform that supports smart contracts and can act as a payment system/cryptocurrency

JellyChain1 is an experimental blockchain network, that will serve as a starter blockchain test network and scale out database software and other applications. JellyChain1 is created to cut energy costs when mining transactions on the blockchain.

JellyChain 10 Dec 1, 2022
Context-aware smart contracts for blockchain IoT systems

Context-aware smart contracts for blockchain IoT systems It contains 2 directories: contracts: contains the ContextAwareSmartContract.sol contract wit

ibelab 6 Jun 17, 2022
Using a Decentralized Application (DApp) to Sell artwork on the Ethereum blockchain with smart contracts written in Solidity.

Decentralized Applications For Selling Limited Time Artwork This repository houses the Solidity, JavaScript, and HTML code for a Decentralized Applica

Keyan Ahmadi 4 Mar 20, 2023
Um bot de suporte feito usando threads para o Discord, 100% customizável, feito em JavaScript e inspirado no Rio Helper do servidor Elixir Lab e na Loritta Helper do serivdor de suporte da Loritta.

Ticket Bot Um bot de suporte feito usando threads para o Discord, 100% customizável, feito em JavaScript e inspirado no Rio Helper do servidor Elixir

ADG 6 Dec 21, 2022
This template can be used as a starting point for any minting dApp on the Elrond Network.

Minting dApp Template Made by Giants & NF-Tim by Creative Tim Live Demo This is a dApp template based on erd-next-starter by Giants & soft-ui-dashboar

Giants Labs 11 Dec 23, 2022
A decentralized protocol for indexing and querying data from DecentraMix's on chain contracts across all supported blockchains.

A decentralized protocol for indexing and querying data from DeMix contracts across all supported blockchains.

DecentraWorld Ecosystem 92 May 3, 2022