2026-05-01 14:09:50 +00:00
r1
2022-02-03 23:45:26 -08:00
2026-05-01 00:26:32 +00:00
2026-04-30 14:46:44 +00:00
r1
2022-02-03 23:45:26 -08:00
2026-04-29 15:46:42 +00:00
r1
2022-02-03 23:45:26 -08:00
r1
2022-02-03 23:45:47 -08:00
2026-04-30 14:46:44 +00:00
2026-04-30 06:38:51 +00:00
r1
2022-02-03 23:45:47 -08:00
r1
2022-02-03 23:45:47 -08:00
2026-04-30 06:48:22 +00:00
r1
2022-02-03 23:45:47 -08:00
2026-02-18 22:10:35 -08:00
2026-04-30 06:38:51 +00:00
2024-12-04 22:14:27 -08:00
2026-04-30 15:06:40 +00:00

Agrarian

Agrarian is a C++ cryptocurrency-style codebase with a deterministic depends/ build system for reproducible native and cross-compilation builds.


Repository Structure

  • depends/ deterministic third-party dependency build system
  • src/ core source code (includes subprojects like secp256k1/ and univalue/)
  • contrib/ helper scripts, tooling, packaging, and CI utilities
  • share/ auxiliary build and metadata scripts

System Requirements (Ubuntu)

Install the baseline build tools:

sudo apt update
sudo apt install -y \
  build-essential pkg-config autoconf automake libtool \
  bsdmainutils cmake ninja-build python3 curl git

For Windows cross-compilation support:

sudo apt install -y mingw-w64

Building Dependencies (Deterministic Depends System)

The preferred build path uses the deterministic depends/ system instead of mixing system libraries. The current native Ubuntu wallet path builds Qt 6.8.3, OpenSSL 3.5.6, Boost 1.91.0, protobuf, Berkeley DB, and supporting libraries inside depends/<host-triplet>/.

All dependency builds are executed from within the depends/ directory or via the helper scripts in contrib/.

Native Linux

cd depends
make -j"$(nproc)"

Windows Cross-Compile (64-bit)

cd depends
make HOST=x86_64-w64-mingw32 -j"$(nproc)"

Windows Cross-Compile (32-bit)

cd depends
make HOST=i686-w64-mingw32 -j"$(nproc)"

Artifacts are placed under:

depends/<host-triplet>/

Temporary build directories:

depends/work/
depends/built/

These directories should not be committed to version control.


Building Agrarian

Recommended native Ubuntu daemon build:

./autogen.sh
JOBS=1 ./contrib/build-linux.sh

Recommended native Ubuntu desktop wallet build:

JOBS=1 ./contrib/build-linux-wallet.sh

Use a larger JOBS value only when the host has enough RAM. On an 8-core, 16 GB host, JOBS=8 is reasonable.

Manual autotools workflow:

./autogen.sh
CONFIG_SITE="$PWD/depends/x86_64-pc-linux-gnu/share/config.site" ./configure
make -j"$(nproc)"

To see configuration options:

./configure --help

For current build notes, see:

  • doc/modernization.md for the current 2.0 dependency and build baseline.
  • doc/build-menu.md for the interactive build menu.
  • doc/build-ubuntu-24.md for native Ubuntu daemon and wallet builds.
  • doc/build-windows.md for Windows cross-compilation.
  • doc/build-wallets.md for the repeatable desktop wallet quick start.

Running Tests

If enabled:

make check

Current smoke tests:

./contrib/smoke-test-daemon.sh
./contrib/smoke-test-wallet.sh
./contrib/smoke-test-qt.sh

Development Guidelines

  • Do not commit depends/work/, depends/built/, or host prefix directories.
  • Ensure executable permissions (100755) are intentional for shell scripts.
  • Keep diffs minimal in depends/ to maintain reproducibility.

License

See the COPYING file for license details.

S
Description
Agrarian project handoff and operations notes
Readme 262 MiB
Languages
C++ 91.9%
C 3.1%
Makefile 2%
Shell 1.8%
Python 0.8%
Other 0.2%