Sugarchain Yumekawa

GitHub All
Releases

https://sugarchain.org

The Meaning of Yumekawa

Sugarchain's first node software is called Yumekawa (夢川). It can be interpreted in several ways.

License

Sugarchain Yumekawa is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Minimum Requirement

Low-spec systems may still run Sugarchain, but initial synchronization and startup can take significantly longer.

Depends on Bitcoin Core

Exactly the same as dependencies of Bitcoin Core v0.16.3.

sudo apt install \
build-essential software-properties-common libtool autotools-dev automake pkg-config \
libssl-dev libevent-dev bsdmainutils libboost-all-dev \
libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a \
libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev \
protobuf-compiler libqrencode-dev help2man
Old OS
sudo apt-get install -y \
software-properties-common build-essential libtool autotools-dev automake pkg-config \
libssl-dev libevent-dev bsdmainutils libboost-all-dev \
libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a \
libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev \
protobuf-compiler libqrencode-dev help2man
sudo add-apt-repository -y ppa:bitcoin/bitcoin && \
sudo apt-get update && \
sudo apt-get install -y \
libdb4.8-dev libdb4.8++-dev \
software-properties-common build-essential libtool autotools-dev automake pkg-config \
libssl-dev libevent-dev bsdmainutils libboost-all-dev \
libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a \
libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev \
protobuf-compiler libqrencode-dev help2man
sudo add-apt-repository -y ppa:luke-jr/bitcoincore && \
sudo apt-get update && \
sudo apt-get install -y \
libdb4.8-dev libdb4.8++-dev \
software-properties-common build-essential libtool autotools-dev automake pkg-config \
libssl-dev libevent-dev bsdmainutils libboost-all-dev \
libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a \
libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev \
protobuf-compiler libqrencode-dev help2man

Build

./autogen.sh && \
./contrib/install_db4.sh $(pwd) && \
export BDB_PREFIX="$PWD/db4" && \
export BDB_CFLAGS="-I${BDB_PREFIX}/include" && \
export BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" && \
./configure && \
printf '#include <deque>\n#include <boost/bind/bind.hpp>\nusing namespace boost::placeholders;\n' >/tmp/sugar_compat.h && \
printf '#!/bin/sh\ncase " $* " in\n  *"qt/trafficgraphwidget.cpp"*)\n    exec g++ -include /tmp/sugar_compat.h -include QPainterPath "$@"\n    ;;\n  *)\n    exec g++ -include /tmp/sugar_compat.h "$@"\n    ;;\nesac\n' >/tmp/sugar-cxx && \
chmod +x /tmp/sugar-cxx && \
make -j$(nproc) CXX=/tmp/sugar-cxx && \
strip ./src/sugarchain-cli && \
strip ./src/sugarchaind && \
strip ./src/qt/sugarchain-qt && \
strip ./src/sugarchain-tx && \
strip ./src/test/test_sugarchain && \
./src/test/test_sugarchain test_bitcoin --log_level=test_suite && \
./src/sugarchaind --version

Options after Build

strip ./src/sugarchain-cli && \
strip ./src/sugarchaind && \
strip ./src/qt/sugarchain-qt && \
strip ./src/sugarchain-tx && \
strip ./src/test/test_sugarchain
make -j$(nproc) && ./contrib/devtools/gen-manpages.sh

Unit Test

All Sugarchain Yumekawa developers should run these unit tests. Some updates may cause these tests to fail.

./src/test/test_sugarchain test_bitcoin --log_level=test_suite
./src/test/test_sugarchain test_bitcoin --log_level=test_suite --run_test=blockencodings_tests
./src/qt/test/test_sugarchain-qt

Run

The options -rpcuser, -rpcpassword, and -printtoconsole are optional. -server=1 is required for RPC access or cpuminer when solo mining.

CLI

Known Issues

Release Process

https://gist.github.com/cryptozeny/3501c77750541208b9dd1a9e9719fc53