솔로 채굴


솔로 채굴

솔로 채굴(단독 채굴)은 PAI Coin Pool과 같은 집합적 풀을 통한 채굴의 대안입니다. 솔로 채굴을 하면 장치 또는 서버가 PAI 블록체인의 난이도 목표 (즉, “럭키해시”)를 충족하는 해시가 있는 블록을 찾을 때까지 유효한 블록을 로컬에서 구성합니다. 발견되면 네트워크를 통해 수락하기 위해 블록을 다른 피어에게 브로드캐스트 합니다.

단독 채굴의 주된 의미는 장치가 네트워크에서 허용하는 유효한 블록을 발견하면 블록 보상의 전체 부분을 채굴용으로 예약 할 수 있다는 것입니다. 반면에 장치가 유효한 블록을 찾지 못하면 채굴에서 아무것도 얻지 못합니다.

솔로 채굴은 풀 마이닝과는 대조적으로 블록 보상이 풀에 대한 모든 기여자간에 비례적으로 공유되며, 어떤 개별 기여자가 실제로 럭키 해시로 유효한 블록을 찾았는 지에 관계없이 공유됩니다. 간단히 말해, 특정 범위 내에서 솔로 채굴은 상대적으로 더 큰 보상을 받을 수 있으나 자주받지는 못하는 반면, 풀 마이닝은 일반적으로 더 적은 보상을 얻으나 더 자주 지불합니다. 전체 네트워크 해시 비율이 매우 높은 블록체인의 경우, 상대적으로 컴퓨팅 능력이 낮은 채굴자에게는 솔로 채굴이 불가능합니다.

솔로 채굴은 하나 혹은 몇 개의 큰 채굴풀(PAI코인 풀 등)에서 채굴 소스를 분산시켜 네트워크를 더욱 분산화하므로 PAI 블록체인에는 유익한 방법입니다. 이로 인해 네트워크에서 중앙 지점 실패 리스크를 발생시킬 수 있습니다.

목차

지갑으로 풀노드 설정하기 1

솔로 채굴 소프트웨어의 빌드 및 설치 4

솔로 마이너 실행 5

참조 5

지갑으로 풀노드 설정하기

NOTE: 채굴을 수행하는 동일한 머신의 코멘드 라인 지갑에 채굴 보상을 저장하려면 아래 단계에 따라 지갑으로 전체 노드를 설정해야 합니다. 채굴 보상을 다른 곳 (예 : PAI Up 모바일 또는 웹 지갑)에 저장하려면이 섹션을 건너뛰고 이 가이드에 따라 전체 노드를 설정해 주세요.

다음 명령을 실행하여 지갑으로 전체 노드를 구축하십시오.

먼저 필요한 종속성을 설치해 주세요.

sudo apt update

sudo apt install autoconf autogen automake make gcc libcurl4-gnutls-dev build-essential libtool autotools-dev pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-all-dev

다음으로 지갑에 필요한 Berkeley DB 4.8을 가져와서 컴파일합니다.

wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz

echo ‘12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz’ | sha256sum -c

tar -xvf db-4.8.30.NC.tar.gz

sed -i ‘s/__atomic_compare_exchange/__atomic_compare_exchange_db/g’ db-4.8.30.NC/dbinc/atomic.h

cd db-4.8.30.NC/build_unix

mkdir -p build

BDB_PREFIX=$(pwd)/build

…/dist/configure --disable-shared --enable-cxx --with-pic --prefix=$BDB_PREFIX

make install

이제 PAI Coin Core를 구성하고 구축해 주세요.

cd

git clone https://github.com/projectpai/paicoin.git

cd paicoin

./autogen.sh

./configure CPPFLAGS="-I${BDB_PREFIX}/include/ -O2" LDFLAGS="-L${BDB_PREFIX}/lib/" --disable-tests

이러한 화면을 봅니다:

Options used to compile and link:

with wallet = yes

with gui / qt = no

with zmq = no

with test = no

with bench = yes

with upnp = auto

use asm = yes

debug enabled = no

werror = no

target os = linux

build os =

CC = gcc

CFLAGS = -g -O2

CPPFLAGS = -I/home/ubuntu/db-4.8.30.NC/build_unix/build/include/ -O2 -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS

CXX = g++ -std=c++11

CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter -Wno-implicit-fallthrough

LDFLAGS = -L/home/ubuntu/db-4.8.30.NC/build_unix/build/lib/

ARFLAGS = cr

마지막으로 다음을 컴파일합니다:

make

그 후 이러한 화면을 봅니다:

CXX stake/libpaicoinconsensus_la-votebits.lo

CXX libpaicoinconsensus_la-uint256.lo

CXX libpaicoinconsensus_la-utilstrencodings.lo

CXX support/libpaicoinconsensus_la-cleanse.lo

CXX libpaicoinconsensus_la-sync.lo

CXX libpaicoinconsensus_la-fs.lo

CXX libpaicoinconsensus_la-random.lo

CXX libpaicoinconsensus_la-utiltime.lo

CXX libpaicoinconsensus_la-util.lo

CXXLD libpaicoinconsensus.la

make[2]: Leaving directory ‘/home/ubuntu/paicoin/src’

make[1]: Leaving directory ‘/home/ubuntu/paicoin/src’

Making all in doc/man

make[1]: Entering directory ‘/home/ubuntu/paicoin/doc/man’

make[1]: Nothing to be done for ‘all’.

make[1]: Leaving directory ‘/home/ubuntu/paicoin/doc/man’

make[1]: Entering directory ‘/home/ubuntu/paicoin’

make[1]: Nothing to be done for ‘all-am’.

make[1]: Leaving directory ‘/home/ubuntu/paicoin’

성공적으로 컴파일되면~/.paicoin 디렉토리를 만들고 내부에 최소한 다음을 포함하는 paicoin.conf라는 텍스트 파일을 만듭니다 (원하는대로 rpcuser 및 rpcpassword 값을 설정)

daemon=1

rpcuser=user

rpcpassword=password

마지막으로 paicoin/src 디렉토리에서 ./paicoind를 실행하여 전체 노드를 시작하고 동기화 될 때까지 기다립니다. paicoin-cli getmininginfo를 실행하거나 ~/.paicoin/debug.log를 보고 로컬 블록 높이를 확인하여 동기화 진행 상황을 볼 수 있습니다. 예를 들어 https://paichain.info에서 볼 수 있듯이 로컬 블록 높이가 블록체인 높이와 일치하면 동기화가 완료됩니다.

paicoin-cli getbalance, paicoin-cli sendtoaddress 및 paicoin-cli getnewaddress와 같은 명령으로 PAI 코인 지갑을 사용할 수 있습니다. 가능한 명령의 전체 목록은 paicoin-cli help를 실행하여 사용할 수 있습니다.

솔로 채굴 소프트웨어의 빌드 및 설치

종속성 설치:

sudo apt install libcurl4-gnutls-dev

cpuminer 저장소를 복제하고 빌드를 구성하세요.

git clone https://github.com/projectpai/cpuminer.git

cd cpuminer

./autogen.sh

이렇게 출력됩니다:

configure.ac:9: installing ‘./compile’

configure.ac:4: installing ‘./config.guess’

configure.ac:4: installing ‘./config.sub’

configure.ac:6: installing ‘./install-sh’

configure.ac:6: installing ‘./missing’

Makefile.am: installing ‘./INSTALL’

Makefile.am: installing ‘./depcomp’

그 후, 다음을 실행합니다:

./nomacro.pl

마지막으로 다음을 실행하고:

./configure CFLAGS="-O3"

다음이 출력됩니다:

Compilation…: make (or gmake)

CPPFLAGS…:

CFLAGS…: -O3

LDFLAGS…: -pthread

LDADD…: -lcurl compat/jansson/libjansson.a -lpthread

Installation…: make install (as root if needed, with ‘su’ or ‘sudo’)

prefix…: /usr/local

마지막으로 소프트웨어를 컴파일 해주세요.

make

Running the solo miner

paicoind가 실행 중일 때 cpuminer 디렉토리에서 다음 명령을 실행하면 cpuminer가 시작됩니다.

./minerd -a paicoin -o http://127.0.0.1:8566 -u user -p password --coinbase-addr=paiaddress --no-stratum &> ~/cpu-miner-output.log &

위의 명령에서 user 및 password를 paicoin.conf 파일에 지정한 rpcuser 및 rpcpassword 값으로 바꿔야합니다. paiaddress 값은 채굴에서 얻을 수있는 블록 보상을 수집하는 데 사용하려는 PAI 코인 주소와 동일하게 설정되어야 합니다.

Cpu-miner-output.log 파일을 확인하여 채굴자의 성능을 판단할 수 있습니다.

참조

Berkeley DB 4.8설치에 대한 몇 가지 팁을 여기에서 찾으실 수 있습니다: https://gist.github.com/danieldk/5700533