Signum (previously know as 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 SmartJ, 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 Signum smart contracts relying only on Java. You can use a simple text editor or your preferred IDE. SmartJ 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 Signum AT bytecode that can run on the Signum blockchain
As any open source project, this is experimental technology. Please carefully inspect your compiled AT contracts and test it exhaustively on the testnet before production.
Take a look on the samples source folder.
The easiest way to start with SmartJ is to clone this project and import as an existing gradle project using your preferred IDE. Check the samples source folder and modify existing contracts or create new ones.
Add the following to your gradle.build file:
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.signum-network:signum-smartj:-SNAPSHOT'
}
Add the repository to your configuration:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.signum-network</groupId>
<artifactId>signum-smartj</artifactId>
<version>-SNAPSHOT</version>
</dependency>
This code is licensed under GPLv3.
jjos
Donation address: S-JJQS-MMA4-GHB4-4ZNZU