Skip to content
BlockTalk: CIYAM AT smart contract compiler
Branch: master
Clone or download
Latest commit a936256 Jul 11, 2019

README.md

BlockTalk: easy to use smart contracts for Burstcoin

GPLv3

Burstcoin was the world's first HDD-mined cryptocurrency using an energy efficient and fair Proof-of-Capacity (PoC) consensus algorithm.

It was also the first to implement a turing-complete smart contract system in the form of Automated Transactions (AT), as specified by CIYAM. However, before BlockTalk, the creation and deployment of smart contracts required writing (assembler-like) bytecode and testing on-chain, making the development of contracts cumbersome.

This project allows the user to write, debug, and deploy Burst smart contracts relying only on Java. You can use a simple text editor or your preferred IDE. BlockTalk consists of the following key components:

  • Contract.java: a Java abstract class defining the basic API available for contracts
  • Emulator: an emulated blockchain and respective UI
  • Compiler: a system to convert Java bytecode into Burst AT bytecode that can run on the Burst blockchain

Simple hello world contract

This project is in alpha stage. Most contracts can be compiled into CIYAM bytecode. However, please carefully inspect your compiled AT contracts and test it exhaustively on the testnet before production.

Sample Contracts

Take a look on the samples source folder.

Using (write your own contract)

Sample application

The easiest way to start with BlockTalk is to clone the blocktalk-sample. This sample application is actually a VSCode Java Application. Just clone or download the sample application and open its folder with VSCode.

Manually add BlockTalk to your gradle project

Add the following to your gradle.build file:

repositories {
	maven { url 'https://jitpack.io' }
}
dependencies {
	implementation 'com.github.jjos2372:blocktalk:-SNAPSHOT'
}

Manually add BlockTalk to your maven project

Add the repository to your configuration:

<repositories>
	<repository>
	    <id>jitpack.io</id>
	    <url>https://jitpack.io</url>
	</repository>
</repositories>
<dependency>
	<groupId>com.github.jjos2372</groupId>
	<artifactId>blocktalk</artifactId>
	<version>-SNAPSHOT</version>
</dependency>

License

This code is licensed under GPLv3.

Author

jjos

Donation address: BURST-JJQS-MMA4-GHB4-4ZNZU

You can’t perform that action at this time.