BlockTalk is an extended BURST AT framework which aids in the creation and deployment of ATs via a simple and concise language, and a simple interface for deploying to the blockchain. It includes tools and code snippets to assist in the process, and helps manage the minimal fees involved with running ATs.
The vision of BlockTalk is to have a state-of-the-art and easy to deploy framework for smart contracts. The project decision was to make use of Java as the first high-level language to implement this framework. Although the project is already underway, anyone who like to join the project is welcome and should send a contact request to frank_the_tank on discord.
For more information on BlockTalk, see CIP20.
This will be a new programming language, specifically designed for future creation of AT
This is a powerful tool for reading and translating structured text into binary files. That involves:
- A Lexer – to read LANG sourcecode and turn that into tokens
- A parser – to parse and turn the tokens into a structured representation (AST)
- AST – with an associated walker to walk the AST and turn that into a new extended script language (ESA) for Burst blockchain
The extended script assembly (ESA) will create and handle the new types, dynamic memory and extension of SA.
The script assembly is creating the first maschinencode. It includes and handles logical branches, declarations of vars, labels to jump to, named API funcs as opposed to hex numbered functions.
This module make the preparation for the Step5-1 processing. Mainy labels will be swapped out with addrs, named funs swapped with hex numbered func, named vars swapped with their physical addrs.
The steps are part of the compiling process. The steps compile mcode into bcode and breaks that task into clearly defined steps of 5. Each step, involves having input from step above and providing output to step below. Syntax and semantics are thoroughly checked on both input and output at each step. In case of any error at a given step, the input is rejected and an error message to the above step is submitted. Step3 is the most human readable (big-endian), Step2 and Step1 are on form little-endian.
Final transformation to bytecode. Each instr on separate lines, as op-funcno-arg , literal
In this last step some checks will be performed with the bytecode and CIYAM Bytecode will be created. This code can then be released to the BURST-Chain as a new smart AT.
burstkit4j : API Calls and integration
This example of NFT on github shows BlockTalk handling AT owner changes. Only the current owner can set a price in BURST for which the NFT-AT can be sold. The first user who sends the set account to the AT will be the new owner.
With this simple and clean contract we are already in a position to build NFTs like CryptoKitties or items for the gaming industry or any other business case where unique Tokens are needed.
What are NFTs?
NFTs (non-fungible-tokens) are basically new and unique representations of goods or assets that take the form of digital tokens/AT. Through the use of cryptography, NFTs can prove the authenticity, as well as ownership of such assets and goods.
Let's say that there is a virtual artwork that is tokenized. With that in mind, whoever holds the tokens, acts as the direct owner of the piece of art itself. Obviously, NFTs are quite unique, and no other item can replace them. The possible implications of this are many, and they might even create an entirely new class of digital assets in the future. It is even possible that real-world items and assets might be this closely tied to digital tokens, all with the goal of securing the ownership of such items. The NFTs were brought to the mainstream together with CryptoKitties. This is a concept that gained a lot of popularity near the end of the previous year. Some of them were so popular, that they were priced and sold for hundreds of thousands of dollars.