Skip to content

Commit

Permalink
Merge pull request #1 from Groestlcoin/upgrade-0.16.1
Browse files Browse the repository at this point in the history
Upgrade 0.16.1
  • Loading branch information
gruve-p authored Jul 5, 2022
2 parents 2b46970 + 4eb4d6c commit ce9bc69
Show file tree
Hide file tree
Showing 476 changed files with 24,826 additions and 120,203 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Build

on: [push, pull_request]

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
java: ['8', '11', '17']
distribution: ['temurin']
gradle: ['7.2']
fail-fast: false
name: JAVA ${{ matrix.distribution }} ${{ matrix.java }} OS ${{ matrix.os }} Gradle ${{ matrix.gradle }}
steps:
- uses: actions/checkout@v1
- name: Set up JDK
uses: actions/setup-java@v2
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
- name: Build Groestld library
run: |
cd contrib/groestld
mkdir build
cd build
cmake ..
cmake --build .
cd ../../..
- name: Build with Gradle
uses: gradle/gradle-build-action@v1
with:
gradle-version: ${{ matrix.gradle }}
arguments: assemble --stacktrace
- name: Upload Artifacts
uses: actions/upload-artifact@v2
if: always()
with:
name: groestlcoinj-core-${{ matrix.java }}-${{ matrix.os }}
path: |
core/build/libs/
41 changes: 41 additions & 0 deletions .github/workflows/checkpoints.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Checkpoints

on: [push, pull_request]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
cache: gradle

- name: set NOW env
run: echo "NOW=$(date +'%d.%m.%Y')" >> $GITHUB_ENV

- name: Build mainnet checkpoints
run: ./tools/build-checkpoints --net=PROD

- name: Build testnet checkpoints
run: ./tools/build-checkpoints --net=TEST

- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: checkpoints-${{ env.NOW }}
path: |
tools/checkpoints.txt
tools/checkpoints-testnet.txt
if-no-files-found: error
retention-days: 7

- name: Download artifacts
uses: actions/download-artifact@v2
with:
name: checkpoints-${{ env.NOW }}
49 changes: 49 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Java CI

on: [push, pull_request]

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]
java: ['8', '11', '17']
distribution: ['temurin']
gradle: ['7.2']
include:
# Special case to test something close to Debian config with the oldest supported (standard) Gradle on Ubuntu
- os: ubuntu-latest
java: '11'
distribution: 'temurin'
gradle: '4.10.3'
fail-fast: false
name: JAVA ${{ matrix.distribution }} ${{ matrix.java }} OS ${{ matrix.os }} Gradle ${{ matrix.gradle }}
steps:
- uses: actions/checkout@v1
- name: Set up JDK
uses: actions/setup-java@v2
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
- name: Build Groestld library
run: |
cd contrib/groestld
mkdir build
cd build
cmake ..
cmake --build .
cd ../../..
- name: Build with Gradle
uses: gradle/gradle-build-action@v1
with:
gradle-version: ${{ matrix.gradle }}
arguments: build --stacktrace
- name: Upload Test Results and Reports
uses: actions/upload-artifact@v2
if: always()
with:
name: groestlcoinj-core-test-results-jdk${{ matrix.java }}-${{ matrix.os }}
path: |
core/build/reports/tests/test/
core/build/test-results/test/
10 changes: 10 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
image: debian:bullseye-slim

before_script:
- apt-get update
- apt-get -y upgrade
- apt-get -y install openjdk-11-jdk gradle

build:
script:
- gradle build --stacktrace
17 changes: 0 additions & 17 deletions .travis.yml

This file was deleted.

17 changes: 17 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,24 @@ Alon Muroch
Amichai Rothman
Andreas Schildbach
andrewtoth
Anton Kumaigorodski
Bartosz Milczarek
Bas van Schaik
Bennett Hoffman
BigAdam2005
Bo-Ye
Cameron MacKeen
Carlos Lopez-Camey
Carsten Otto
Chang Ming
Chris
Craig Raw
cyberzac
Daniel James
Dave Collins
David Kingsbury
David Wilson (dcw312)
Denis O
dexX7
Diego Basch
elbandi
Expand All @@ -45,6 +50,9 @@ GreenAddress
Greg Laun
gubatron
Harald Hoyer
Haoyuan Ge (harryge00)
HashEngineering
Jakob Janecek
Jakob Stuber
Jameson Lopp
Jan Vornberger
Expand Down Expand Up @@ -78,13 +86,15 @@ Matthew Shaylor
Michael Bell
Michael Bumann
Mike Hearn
Mike Mancini
Mike Rosseel
Miron Cuperman
monk
Mora Zyx
mruddy
Nelson Melina
Nicola Atzei
Oğuzhan Çevik
ollekullberg
Oscar Guindzberg
Pavol Rusnak
Expand All @@ -95,20 +105,27 @@ Peter Todd
Philip Whitehouse
Piotr Włodarek
Richard Green (ragmondo)
Premek
Robin Owens
Ronald Hoffman (ScripterRon)
Ross Nicoll
Saulius Beinorius
Sean Gilligan
Sebastian Ortega
Shafiullah Rahman
Simon de la Rouviere
Simon Vermeersch
sqrrm
Stephan Oeste
Stephen Reed
tau3
Thomas König
Tiberiu Nitan
Tim Strasser
Tomasz Ludek
troggy
Tyler Houlihan
ueno
Willem Noort
Will Shackleton
Wojciech Langiewicz
Expand Down
25 changes: 0 additions & 25 deletions README

This file was deleted.

46 changes: 33 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
[![Build Status](https://travis-ci.org/bitcoinj/bitcoinj.png?branch=master)](https://travis-ci.org/bitcoinj/bitcoinj) [![Coverage Status](https://coveralls.io/repos/bitcoinj/bitcoinj/badge.png?branch=master)](https://coveralls.io/r/bitcoinj/bitcoinj?branch=master)
[![Github Build Status](https://github.com/Groestlcoin/groestlcoinj/workflows/Java%20CI/badge.svg)](https://github.com/Groestlcoin/groestlcoinj/actions)

[![Visit our IRC channel](https://kiwiirc.com/buttons/irc.freenode.net/bitcoinj.png)](https://kiwiirc.com/client/irc.freenode.net/bitcoinj)
[![Visit our IRC channel](https://kiwiirc.com/buttons/irc.libera.chat/groestlcoin.png)](https://kiwiirc.com/nextclient/irc.libera.chat/groestlcoin)

### Welcome to groestlcoinj

The groestlcoinj library is a Java implementation of the Groestlcoin protocol, which allows it to maintain a wallet and send/receive transactions without needing a local copy of Groestlcoin Core. It comes with full documentation and some example apps showing how to use it.

### Technologies

* Java 7+ and Gradle 3.4+ for the `core` module
* Java 8+ and Gradle 3.4+ for `tools` and `examples`
* Java 8+ (needs Java 8 API or Android 6.0 API, compiles to Java 8 bytecode) and Gradle 4.4+ for the `core` module
* Java 8+ and Gradle 4.4+ for `tools` and `examples`
* Java 11+ and Gradle 4.10+ for the JavaFX-based `wallettemplate`
* [Gradle](https://gradle.org/) - for building the project
* [Google Protocol Buffers](https://github.com/google/protobuf) - for use with serialization and hardware communications
Expand Down Expand Up @@ -37,20 +37,40 @@ gradle clean assemble

Alternatively, just import the project using your IDE. [IntelliJ](http://www.jetbrains.com/idea/download/) has Gradle integration built-in and has a free Community Edition. Simply use `File | New | Project from Existing Sources` and locate the `build.gradle` in the root of the cloned project source tree.

### Example applications
### Building and Using the Wallet Tool

These are found in the `examples` module.
The **groestlcoinj** `tools` subproject includes a command-line Wallet Tool (`wallet-tool`) that can be used to create and manage **groestlcoinj**-based wallets (both the HD keychain and SPV blockchain state.) Using `wallet-tool` on Groestlcoin's test net is a great way to learn about Groestlcoin and **groestlcoinj**.

### Where next?
To build an executable shell script that runs the command-line Wallet Tool, use:
```
gradle groestlcoinj-tools:installDist
```

Now you are ready to [follow the tutorial](https://bitcoinj.github.io/getting-started).
You can now run the `wallet-tool` without parameters to get help on its operation:
```
./tools/build/install/wallet-tool/bin/wallet-tool
```

### Testing a SNAPSHOT build
To create a test net wallet file in `~/groestlcoinj/groestlcoinj-test.wallet`, you would use:
```
mkdir ~/groestlcoinj
```
```
./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/groestlcoinj/groestlcoinj-test.wallet create
```

To sync the newly created wallet in `~/groestlcoinj/groestlcoinj-test.wallet` with the test net, you would use:
```
./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/groestlcoinj/groestlcoinj-test.wallet sync
```

Building apps with official releases of **bitcoinj** is covered in the [tutorial](https://bitcoinj.github.io/getting-started).
To dump the state of the wallet in `~/groestlcoinj/groestlcoinj-test.wallet` with the test net, you would use:
```
./tools/build/install/wallet-tool/bin/wallet-tool --net=TEST --wallet=$HOME/groestlcoinj/groestlcoinj-test.wallet dump
```

If you want to develop or test your app with a [Jitpack](https://jitpack.io)-powered build of the latest `master` or `release-0.15` branch of **bitcoinj** follow the dynamically-generated instructions for that branch by following the correct link.
Note: These instructions are for macOS/Linux, for Windows use the `tools/build/install/wallet-tool/bin/wallet-tool.bat` batch file with the equivalent Windows command-line commands and options.

### Example applications

* [master](https://jitpack.io/#bitcoinj/bitcoinj/master-SNAPSHOT) branch
* [release-0.15](https://jitpack.io/#bitcoinj/bitcoinj/release-0.15-SNAPSHOT) branch
These are found in the `examples` module.
11 changes: 9 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
import org.gradle.util.GradleVersion

buildscript {
repositories {
mavenCentral()
}

// If using Gradle 7, use the compatible protobuf plugin, else use the one that works with oldest supported Gradle
boolean isGradle7 = GradleVersion.current().compareTo(GradleVersion.version("7.0")) >= 0
def gradleProtobufVersion = isGradle7 ? "0.8.11" : "0.8.10"
if (isGradle7) {
System.err.println "Warning: Using com.google.protobuf:protobuf-gradle-plugin:${gradleProtobufVersion} because ${GradleVersion.current()}"
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.6'
classpath "com.google.protobuf:protobuf-gradle-plugin:${gradleProtobufVersion}"
}
}

Expand Down
21 changes: 21 additions & 0 deletions contrib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Contrib

This folder contains some required and optional components for groestlcoinj
* groestld (optional)

Tools such as Java should already be installed.

#Requirements for Building

## Linux or WSL (eg Ubuntu <= 21.x)
```shell
sudo apt install build-essential
```

## Mac
No additional instructions

## Windows
```
choco install mingw -y
```
13 changes: 13 additions & 0 deletions contrib/groestld/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
cmake_minimum_required(VERSION 3.11.0)

project(x11)
find_package(Java COMPONENTS Development)
find_package(JNI REQUIRED)

if (JNI_FOUND)
message (STATUS "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}")
message (STATUS "JNI_LIBRARIES=${JNI_LIBRARIES}")
endif()

add_library(groestld SHARED groestl.c hashblock.cpp)
include_directories(${JNI_INCLUDE_DIRS})
Loading

0 comments on commit ce9bc69

Please sign in to comment.