The hera is the client-side framework for the aergo. This repository, heraj is java implementation for hera.
v1.1.0
build with aergo-protobuf 6c66b16b4c0f891646f8f49d728893ca5a937da4
- Aergo : v1.1.x
- Java : JDK 6 or higher
- Android : Android 3.0 (API 11) or higher
There are 3 kind of library:
- heraj-transport : minimum library including all of the base
- heraj-wallet : nonce handling wallet library (depends on
heraj-transport) - heraj-smart-contract : simple client to call smart contract with a java interface (depends on
heraj-wallet)
If you just want a minimum one, use heraj-transport. Or need more feature, use heraj-wallet or heraj-smart-contract.
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
...
<dependencies>
<dependency>
<groupId>io.aergo</groupId>
<artifactId>heraj-transport</artifactId>
<version>${herajVersion}</version>
</dependency>
<dependency>
<groupId>io.aergo</groupId>
<artifactId>heraj-wallet</artifactId>
<version>${herajVersion}</version>
</dependency>
<dependency>
<groupId>io.aergo</groupId>
<artifactId>heraj-smart-contract</artifactId>
<version>${herajVersion}</version>
</dependency>
</dependencies>repositories {
jcenter()
}
...
dependencies {
implementation "io.aergo:heraj-transport:${herajVersion}"
implementation "io.aergo:heraj-wallet:${herajVersion}"
implementation "io.aergo:heraj-smart-contract:${herajVersion}"
}The repository contains next:
- core/annotation
- core/util
- core/common
- core/protobuf
- core/transport
- client/wallet
- client/smart-contract
- examples
TBD
- JDK 7 or higher is recommanded because of gradle.
$ git clone --recurse-submodule https://github.com/aergoio/heraj.git- Initialize submodule (if not initialized)
$ git submodule init- Update submodule
$ git submodule update- Clean
$ ./build.sh clean- Run gradle
$ ./build.sh gradle- Install to maven local
$ ./build.sh installThey are classes with 'Test' suffix.
They are classes with 'IT' suffix meaning integration test.
They are classes with 'Benchmark' suffix, which using jmh.
$ ./build.sh test$ ./build.sh itWe provides next in https://aergoio.github.io/heraj
- JavaDoc
- Test Coverage
$ ./build.sh docsGuidelines for any code contributions:
- Any changes should be accompanied by tests. It's guaranteed by travis ci.
- Code coverage should be maintained. Any requests dropping down code coverage significantly will be not confirmed.
- All contributions must be licensed MIT and all files must have a copy of statement indicating where license is (can be copied from an existing file).
- All java files should be formatted according to Google's Java style guide. You can use checkstyle plugin for eclipse or IntelliJ. And you can check by running
./build.sh gradle - Please squash all commits for a change into a single commit (this can be done using git rebase -i). Make sure to have a meaningful commit message for the change.