Skip to content

BlockTalk: easy to use smart contracts for Burstcoin

License

Notifications You must be signed in to change notification settings

tmvolpato/blocktalk

 
 

Repository files navigation

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 pre-alpha. Most contracts still cannot be compiled into CIYAM bytecode. 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

About

BlockTalk: easy to use smart contracts for Burstcoin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%