Giter VIP home page Giter VIP logo

yjkhaoyun / sugarchain Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sugarchain-project/sugarchain

0.0 0.0 0.0 120.51 MB

Sugarchain: one-CPU-one-vote, the world's fastest PoW blockchain

Home Page: https://bitcointalk.org/index.php?topic=5177722.0

License: MIT License

Shell 0.84% C++ 67.11% Python 15.89% C 10.80% Java 0.38% Assembly 0.35% Objective-C++ 0.08% Makefile 1.42% HTML 0.32% QMake 0.01% M4 2.42% Sage 0.37%

sugarchain's Introduction

Sugarchain Yumekawa

Build Status GitHub All Releases

https://sugarchain.org

The Meaning of Yumekawa

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

  • "Yume (夢)" means dream and "Kawa (川)" means river. So its Dream River in japanese.
  • The second letter "Kawa" stands for "Kawaii (可愛い)". In this case the meaning is Dreamy Cute.
  • Also Yumekawa is replaces the word Core (ie: Bitcoin Core). We think it sounds a bit centralized.

License

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

  • Copyright (c) 2009-2010 Satoshi Nakamoto
  • Copyright (c) 2009-2018 The Bitcoin Core developers
  • Copyright (c) 2013-2019 Alexander Peslyak - Yespower 1.0.1
  • Copyright (c) 2016-2018 The Zcash developers - DigiShieldZEC
  • Copyright (c) 2018-2020 The Sugarchain Yumekawa developers

Minimum Requirement

  • CPU: 1 Core
  • RAM: 2048 MB (at least 3 GB swap)
  • DISK: HDD 5 GB

Depends on Bitcoin Core

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

  • Debian 10 (Recommended, No PPA)
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
  • PPA is only for Ubuntu. No libdb4.8-dev and libdb4.8++-dev packages on Debian.

  • Old Ubuntu
    • Ubuntu 16.04
    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
    • Ubuntu 18.04+
    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

  • Debian 10+ (Recommended, No PPA)
./autogen.sh && \
./contrib/install_db4.sh `pwd` && \
export BDB_PREFIX=$PWD/db4 && \
./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" && \
make -j$(nproc) && \
make check -j$(nproc)
  • (optional) Following can be deleted rm -rf db4/ && rm -f db-4.8.30.NC.tar.gz

  • Old Ubuntu
    • Ubuntu 16.04+
    ./autogen.sh && \
    ./configure && \
    make -j$(nproc) && \
    make check -j$(nproc)

Options after Build

  • (optional) Reduce binary size using strip (about 90% file size reduction)
strip ./src/sugarchain-cli && \
strip ./src/sugarchaind && \
strip ./src/qt/sugarchain-qt && \
strip ./src/sugarchain-tx && \
strip ./src/test/test_sugarchain
  • (optional) After bump version on configure.ac, update binary docs (manpages) using help2man .1 files
make -j$(nproc) && ./contrib/devtools/gen-manpages.sh

Unit Test

All Sugarchain Yumekawa developers should execute this unit test. Some updates may break these tests in some occasions.

  • Test All
./src/test/test_sugarchain test_bitcoin --log_level=test_suite
  • (optional) Test Partially: ie blockencodings_tests
./src/test/test_sugarchain test_bitcoin --log_level=test_suite --run_test=blockencodings_tests
  • (optional) Test QT (GUI)
./src/qt/test/test_sugarchain-qt

Run

The options -rpcuser, -rpcpassword, and -printtoconsole are optional. server=1 needed by RPC servers or cpuminer when solo-mining.

CLI

  • -prunedebuglogfile: Prune (limit) filesize of debug.log

    ./src/qt/sugarchain-qt -prunedebuglogfile

    2020-09-15 19:41:34 DEBUG.LOG PRUNED at 10000063

Known Issues

  • Transaction too large:
    • This is a part of BTC, and hopefully will be fixed in next Taproot Softfork.
  • Slow update balance on wallet:
    • This slow is a part of BTC.
    • Update total balance every minute (12 blocks) interval.
    • A workaround at this moment. source
  • Poor performance on ARM CPUs (32/64-Bit):
    • No ARM optimization for Yespower yet.
  • Poor performance on 32-Bit OS:
    • No SSE2 optimization for Yespower yet. source
  • Slow startup on low memory machines:
    • Startup can take up to some hours on 1cpu 1024ram (+swap 3GB) VPS.
    • Workaround is just increase RAM at least 2 GB.

Release Process using GITIAN

  • All Sugarchain Yumekawa developers should do following GITIAN release process. It's the safest way to distribute binaries to people.
  • Please use GITIAN release with checking PGP signature, or compile it yourself on your own machine.

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

sugarchain's People

Contributors

laanwj avatar sipa avatar gavinandresen avatar theuni avatar jonasschnelli avatar thebluematt avatar luke-jr avatar jnewbery avatar non-github-bitcoin avatar gmaxwell avatar sdaftuar avatar fanquake avatar morcos avatar practicalswift avatar ryanofsky avatar jtimon avatar paveljanik avatar petertodd avatar cozz avatar pstratem avatar decryp2kanon avatar instagibbs avatar meshcollider avatar achow101 avatar cryptozeny avatar promag avatar kallewoof avatar rebroad avatar muggenhor avatar btcdrak avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.