https://github.com/signum-network/signum-smartj
SmartJ: Java smart contracts for Signum
https://github.com/signum-network/signum-smartj
bitcoin burstcoin contracts ethereum signum smart
Last synced: 4 months ago
JSON representation
SmartJ: Java smart contracts for Signum
- Host: GitHub
- URL: https://github.com/signum-network/signum-smartj
- Owner: signum-network
- License: gpl-3.0
- Created: 2019-04-20T13:59:44.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-28T13:51:37.000Z (over 2 years ago)
- Last Synced: 2025-03-30T07:22:07.293Z (over 1 year ago)
- Topics: bitcoin, burstcoin, contracts, ethereum, signum, smart
- Language: Java
- Homepage: https://signum.network/smartcontracts.html
- Size: 732 KB
- Stars: 45
- Watchers: 10
- Forks: 19
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# SmartJ: Java smart contracts for Signum
[](LICENSE)
[](https://jitpack.io/#signum-network/signum-smartj)
[Signum](https://signum.network/) (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](https://signum.network/smartcontracts.html)
system in the form of *Automated Transactions* (AT), as specified by [CIYAM](http://ciyam.org/at/).
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](src/main/java/bt/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
[](https://www.youtube.com/watch?v=XcN5WxqjjGw "Signum SmartJ sample application")
As any open source project, this is experimental technology.
Please carefully inspect your compiled AT contracts and
test it exhaustively on the [testnet](https://github.com/burst-apps-team/burstcoin#testnet) before production.
## Sample Contracts
Take a look on the [samples source folder](src/main/java/bt/sample/).
## Using (write your own contract)
### Sample application
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](src/main/java/bt/sample/) and modify existing contracts or create new ones.
### Add Signum SmartJ to your gradle project
Add the following to your gradle.build file:
```
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.signum-network:signum-smartj:-SNAPSHOT'
}
```
### Add Signum SmartJ to your maven project
Add the repository to your configuration:
```
jitpack.io
https://jitpack.io
com.github.signum-network
signum-smartj
-SNAPSHOT
```
## License
This code is licensed under [GPLv3](LICENSE).
## Author
jjos
Donation address: S-JJQS-MMA4-GHB4-4ZNZU