3个版本

使用旧的 Rust 2015

0.0.7 2020年1月15日
0.0.6 2020年1月12日
0.0.5 2019年9月2日

#11 in #miner

每月下载 28

BSD-3-Clause

2KB

Coverage Status

“Tari协议”

Tari社区开发了多个应用程序以实现Tari协议。这些包括

  • Minotari基础节点
  • Minotari钱包
  • Minotari矿工
  • Minotari合并挖矿代理
  • Minotari Aurora钱包(适用于Android和iOS)

在此README中仅讨论前四个应用程序(有关移动钱包的存储库,请参阅wallet-androidwallet-ios)。

开发者

想要贡献?请从阅读贡献指南审查指南开始。

使用二进制文件安装

版本

每个网络推荐的运行版本是

网络 版本
Stagenet 1.0.0-alpha.0a
Nextnet 1.0.0-rc.6a
Esmeralda 1.0.0-pre.11a

有关版本号的更多详细信息,请参阅发布理念

下载

tari.com下载tari.com的二进制文件。这是运行Tari节点的最简单方法,但您实际上是在信任构建和上传这些二进制文件的人,他们保证没有任何不寻常的事情发生。

二进制文件的哈希值与下载文件一同提供。您可以通过打开终端或命令提示符并运行以下命令来获取您下载的哈希值:

(*nix)

shasum -a256 <PATH_TO_BINARY_INSTALL_FILE>

(Windows)

certUtil -hashfile <PATH_TO_BINARY_INSTALL_FILE> SHA256

如果结果与公布的哈希值不匹配,请不要运行该二进制文件。请注意,这仅检查您的二进制文件是否正确下载;它无法检测二进制文件是否被恶意行为者替换。如果您需要确保您的二进制文件与源代码匹配,请参阅下面的从源码构建

安装

下载二进制文件后,您需要安装它们。这很容易完成,具体步骤如下:

在 *Nix 上

假设您想将 Tari 应用程序安装到您的家目录中,运行以下命令:

cd ~
tar -xf <PATH_TO_BINARY_INSTALL_FILE>

之后,Tari 应用程序将位于 ~/tari_esmeralda_testnet,并提供了一些软链接来运行它们。

在 Windows 上

只需双击安装程序并接受所有默认提示。Tari 应用程序将位于您在安装过程中选择的文件夹中,可以通过双击各种快捷方式或在 Windows 菜单中(Tari Testnet)运行。

使用一键矿工

执行 start_all 软链接/快捷方式;这将根据您在提示时所做的选择启动所需的一切。

  • 默认启动的 Tor 服务
  • Minotari 基础节点,或
  • Minotari 基础节点 & Minotari 钱包,或
  • Minotari 基础节点 & Minotari 钱包 & Minotari 矿工,或
  • Minotari 基础节点 & Minotari 钱包 & Minotari 合并挖矿代理 & XMRig

单独启动所有应用程序

  • 执行 start_minotari_node 软链接/快捷方式;如果尚未运行,它也将启动需要在基础节点运行之前运行的 Tor 服务(不要关闭 Tor 控制台)。

  • 执行 start_minotari_console_wallet 软链接/快捷方式;如果尚未运行,它也将启动需要在基础节点运行之前运行的 Tor 服务(不要关闭 Tor 控制台)。

    注意:当 Tor 服务完全启动时,Tor 控制台将输出 [notice] Bootstrapped 100% (done): Done

  • 根据您的挖矿选择

    • SHA3 独立挖矿
      • 执行 start_minotari_miner 软链接/快捷方式。
    • 与 Monero 合并挖矿
      • 执行 start_minotari_merge_mining_proxy 软链接/快捷方式。
      • 执行 start_xmrig 快捷方式。

从源码构建

要从源码构建 Minotari 代码库,您需要安装一些依赖项。

安装开发包

首先,您需要确保您已经设置了一个完整的发展环境

(macOS)

brew update
brew install openssl cmake coreutils automake autoconf protobuf tor
brew install --cask powershell

(macOS M1 芯片组)

如果 RandomX 单元测试失败,请更新 Mac 确保至少运行 Darwin Kernel Version 22.3.0

(Ubuntu 18.04,包括 Windows 上的 WSL-2)

sudo apt-get update
sudo apt-get -y install openssl libssl-dev pkg-config libsqlite3-dev clang git cmake libc++-dev libc++abi-dev libprotobuf-dev protobuf-compiler libncurses5-dev libncursesw5-dev
sudo apt-get install -y wget apt-transport-https
sudo wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo add-apt-repository universe
sudo apt-get install -y powershell

(Windows)

首先,您需要确保您已经设置了一个完整的发展环境

安装Rust (*nix)

您可以在Rust网站上找到安装说明,或者只需按照以下步骤将Rust安装到您的计算机上

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

然后确保cargo已被添加到您的路径

export PATH="$HOME/.cargo/bin:$PATH"

安装Rust (Windows 10)

Rust网站上按照Windows的安装过程进行。然后确保cargorustc已被添加到您的路径

cargo --version
rustc --version

检出源代码

在您选择的目录(例如Windows上的%USERPROFILE%\Code)中,克隆Tari仓库

git clone https://github.com/tari-project/tari.git

构建

泡一杯咖啡,开始构建Tari。

(*nix)

cd tari
cargo build --release

(Windows)

这类似于在Ubuntu上构建,除了需要源Microsoft Visual Studio环境。打开适当的x64\x86 Native Tools Command Prompt for VS 2019,然后在您的Tari主目录中执行构建,这将创建位于您的%USERPROFILE%\Code\tari\target\release目录中的可执行文件

cd %USERPROFILE%\Code\tari
cargo build --release

成功的构建应输出类似以下内容:

   Compiling minotari_wallet v0.0.9 (.../tari/base_layer/wallet)
   Compiling test_faucet v0.0.1 (.../tari/applications/test_faucet)
   Compiling minotari_wallet_ffi v0.0.9 (.../tari/base_layer/wallet_ffi)
   Compiling minotari_node v0.0.9 (.../tari/applications/minotari_node)
    Finished release [optimized] target(s) in 12m 24s

编译后的可执行文件位于以下路径:

./target/release/minotari_node
./target/release/minotari_console_wallet
./target/release/minotari_merge_mining_proxy
./target/release/minotari_miner

或者,cargo可以构建并将可执行文件安装到~/.cargo/bin(Windows上的%USERPROFILE%\.cargo\bin),因此可以从系统的任何位置执行

cargo install --path=applications/minotari_node --force
cargo install --path=applications/minotari_console_wallet --force
cargo install --path=applications/minotari_merge_mining_proxy --force
cargo install --path=applications/minotari_miner --force

或者,cargo可以构建并将可执行文件安装到%USERPROFILE%\.cargo\bin,因此可以从系统的任何位置执行

cargo install --path=applications/minotari_node --force
cargo install --path=applications/minotari_console_wallet --force
cargo install --path=applications/minotari_merge_mining_proxy --force
cargo install --path=applications/minotari_miner --force

运行

可执行文件将位于您的~/tari/target/release(Linux上)或%USERPROFILE%\Code\tari\target\release(Windows上)目录中,或者也可以在您的~/.cargo/bin(Linux上)或%USERPROFILE%\.cargo\bin(Windows上)目录中,具体取决于上面的构建选择,并且必须从命令行运行。如果使用了前面的构建方法,您可以从该目录运行它,或者您更可能想要将它复制到更方便的位置。确保启动Tor服务~/tari/applications/minotari_node/osx/start_tor(Mac上),~/tari/applications/minotari_node/linux/start_tor(Linux上)或%USERPROFILE%\Code\tari\applications\minotari_node\windows\start_tor.lnk(Windows上)。

要从您选择的任何目录运行(首次使用)

minotari_node --init
minotari_node

minotari_console_wallet --init

minotari_merge_mining_proxy

minotari_miner --init

连续运行

minotari_node

minotari_console_wallet

minotari_merge_mining_proxy

minotari_miner

或者,您可以使用cargo从源目录运行Tari应用程序,并且如果您想要在调试模式下运行(首次使用),则只需省略--release标志

cargo run --bin minotari_node --release --  --init
cargo run --bin minotari_node --release

cargo run --bin minotari_merge_mining_proxy --release

cargo run --bin minotari_console_wallet --release --  --init

cargo run --bin minotari_miner --release

在连续运行中

cargo run --bin minotari_node --release

cargo run --bin minotari_console_wallet --release

cargo run --bin minotari_merge_mining_proxy --release

cargo run --bin minotari_miner --release

使用所有默认选项,区块链数据库、钱包数据库、控制台钱包数据库、日志文件和所有配置文件将创建在 Linux 中的 ~/.tari(或 Windows 中的 %USERPROFILE%\.tari)目录。或者,也可以通过在命令行中指定 --base-path <base-path>,将这些内容都创建在该目录中。

高级构建配置

  • Vagrant:请参阅 使用 Vagrant 构建,使用 Vagrant 以尽可能干净的方式构建和运行一个 basenode。

使用 Docker

使用 Docker 镜像运行基节点

Minotari 基节点 Docker 镜像可在 https://quay.io/repository/tarilabs/minotari_node 找到

使用 docker-compose.yaml

version: "3"

services:
  minotari_node:
    image: quay.io/tarilabs/minotari_node:v0.5.4
    restart: unless-stopped
    volumes:
      - ./data:/root/.tari
# These 2 params are required for an interactive docker-compose session
    stdin_open: true
    tty: true
    expose:
      - 18142
    ports:
      - "18142:18142"

然后运行 docker-compose up -d 以启动您的 Docker 服务。

使用 docker-compose ps 检查运行状态

        Name           Command    State            Ports
------------------------------------------------------------------
tbn_minotari_node_1   start.sh   Up      0.0.0.0:18142->18142/tcp

要连接到控制台,使用 docker ps 获取容器 ID,并将 `minotari_node` 在 Docker 中附加到该容器

CONTAINER ID        IMAGE                                    COMMAND             CREATED             STATUS              PORTS                      NAMES
73427509a4bb        quay.io/tarilabs/minotari_node:v0.5.4   "start.sh"          45 minutes ago      Up 26 minutes       0.0.0.0:18142->18142/tcp   tbn_minotari_node_1

使用容器 ID 73427509a4bb,使用 docker attach 73427509a4bb 连接到 minotari_node 控制台

>> help
Available commands are:
help, version, get-chain-metadata, list-peers, reset-offline-peers, ban-peer, unban-peer, list-connections, list-headers,
check-db, calc-timing, discover-peer, get-block, search-utxo, search-kernel, search-stxo, get-mempool-stats,
get-mempool-state, whoami, get-state-info, quit, exit
>> get-chain-metadata
Height of longest chain : 5228
Geometric mean of longest chain : 5892870
Best block : 2c4f92854b2160324b8afebaa476b39be4004d2a7a19c69dd2d4e4da257bfee2
Pruning horizon : 0
Effective pruned height : 0
>> get-state-info
Current state machine state:
Synchronizing blocks: Syncing from the following peers:
510c83279adc7cb7d7dda0aa07
Syncing 5229/5233

构建 Docker 镜像

如果您不想使用社区提供的 Docker 镜像,可以自己构建!

首先,克隆 Tari 仓库

git clone [email protected]:tari-project/tari.git

然后使用 buildtools 中的 dockerfile 构建镜像。基节点 dockerfile 构建应用程序,并将二进制文件放置在一个小型容器中,将可执行二进制文件保持在最小

docker build -t minotari_node:latest -f ./buildtools/base_node.Dockerfile .

测试您的镜像

docker run --rm -ti minotari_node minotari_node --help

运行基节点

docker run -ti -v /path/to/config/dir:/root/.tari minotari_node

默认 Docker 构建针对 x86-64 CPU。通过传递构建选项可以创建性能更好的构建

docker build -t minotari_node:performance --build-arg TBN_ARCH=skylake --build-arg TBN_FEATURES=avx2 -f ./buildtools/base_node.Dockerfile .

挖矿

Tari 协议支持混合挖矿;使用 Minotari 矿工进行独立或池化 SHA3 挖矿,或者使用 Minotari 合并挖矿代理与 XMRig(基于 RandomX 的挖矿)进行 Monero 合并挖矿。独立和池化 SHA3 挖矿可获得的区块分配了大约 40%,而与 Monero 合并挖矿分配了大约 60%。这种分配深深嵌入到 Tari 协议中,并作为共识规则的一部分。40/60 的分割是由每个算法不同的区块目标时间略不同决定的,当结合在一起时,将给出平均区块时间约为 120 秒。每个挖矿算法都使用线性加权移动平均(LWMA)数学来优雅地调整目标难度,以符合相应的目标区块时间。任何由挖矿算法获得的区块都将被接受,并且在有平局的情况下,将使用几何平均值计算来决定赢家。这个系统完全公平,没有任何额外的经验干预来试图强制某种结果。

Tari SHA3 挖矿

为了使用 Tari 进行 SHA3 挖矿,需要以下应用程序

  • 一个 Minotari 基节点 [提供区块链元数据信息];
  • 一个 Minotari 钱包 [收集 Minotari 区块奖励(coinbase 交易)];
  • 一个 Minotari 矿工 [执行挖矿];

为了使用 Tari 进行池化 SHA3 挖矿,需要以下应用程序

  • 对于池运营商

    • 一个 Minotari 基节点 [提供区块链元数据信息];
    • 一个 Minotari 钱包 [收集 Minotari 区块奖励(coinbase 交易)];
    • Miningcore [支持各种加密货币的池软件,配置为 Tari]
  • 对于矿工

    • 一个 Minotari 钱包 [收集份额奖励(池支付)];
    • 一个 Minotari 矿工 [执行挖矿];

运行时先决条件

Minotari基础节点、Minotari钱包和Minotari矿工都可以在同一个目录下运行。按照使用二进制安装中描述的默认安装方法,所有这些应用程序都将可用。

关于MiningCore,请参阅LinuxWindows的构建说明。

配置先决条件

所有四个Tari应用程序的配置先决条件都是相同的。完成默认安装后,定位主配置文件(config.toml),该文件将位于Linux的~/tari_esmeralda_testnet/config目录下(Windows的%USERPROFILE%\.tari-testnet\config目录下)。

在主配置文件中,除了现有的设置外,如果尚未启用,以下内容也必须为Minotari基础节点和Minotari钱包启用。分别在base_node.esmeraldawallet部分下启用。

[wallet]

grpc_address = "127.0.0.1:18143"
[base_node.esmeralda]
transport = "tor"
allow_test_addresses = false
grpc_enabled = true
grpc_base_node_address = "127.0.0.1:18142"

关于MiningCore

请参阅示例配置此处

对于Minotari矿工,在miner部分下还有一些额外的设置可以更改

  • 关于SHA3挖矿
[miner]
# Number of mining threads
# Default: number of logical CPU cores
#num_mining_threads=8

# GRPC address of base node
# Default: value from `base_node.grpc_base_node_address`
#base_node_grpc_address = "127.0.0.1:18142"

# GRPC address of console wallet
# Default: value from `wallet.grpc_address`
#wallet_grpc_address = "127.0.0.1:18143"

# Start mining only when base node is bootstrapped
# and current block height is on the tip of network
# Default: true
#mine_on_tip_only=true

# Will check tip with node every N seconds and restart mining
# if height already taken and option `mine_on_tip_only` is set
# to true
# Default: 30 seconds
#validate_tip_timeout_sec=30

关于池化SHA3挖矿

[miner]
# Number of mining threads
# Default: number of logical CPU cores
#num_mining_threads=8

# Stratum Mode configuration
# mining_pool_address = "miningcore.tari.com:3052"
# mining_wallet_address = "YOUR_WALLET_PUBLIC_KEY"
# mining_worker_name = "worker1"

取消注释mining_pool_addressmining_wallet_address。根据您的配置调整值。《code>mining_worker_name是一个可选的配置字段,允许您命名您的工人。

执行SHA3挖矿

  • 对于SHA3挖矿:Tor和所需的Tari应用程序必须按照以下顺序启动,最好是这个顺序

    • Tor

      • Linux/OSX:执行start_tor.sh

      • Windows:在Tari安装文件夹中的“Start Tor Serviecs”菜单项或“start_tor快捷方式。

      • Tari基础节点

      • Linux/OSX:按照运行时链接

      • Windows:按照运行时链接或Tari安装文件夹中的“Start Base Node菜单项或“start_minotari_node快捷方式。

    • Tari控制台钱包

      • Linux/OSX:按照运行时链接
      • Windows:按照运行时链接或Tari安装文件夹中的“Start Console Wallet菜单项或“start_tari_console_wallet快捷方式。
    • Tari矿工

      • Linux/OSX:按照运行时链接
      • Windows:按照运行时链接或Tari安装文件夹中的“Start Miner菜单项或“start_tari_miner快捷方式。

请注意Tari矿工控制台上的以下类型的信息,以确认它已正确连接并正在执行挖矿

2021-02-26 11:24:23.604202000 [minotari_miner] INFO  Connecting to base node at http://127.0.0.1:18151
2021-02-26 11:24:23.606260800 [minotari_miner] INFO  Connecting to wallet at http://127.0.0.1:18161
2021-02-26 11:24:23.721890400 [minotari_miner::miner] INFO  Mining thread 0 started
2021-02-26 11:24:23.722287800 [minotari_miner::miner] INFO  Mining thread 1 started
2021-02-26 11:24:23.722505500 [minotari_miner::miner] INFO  Mining thread 2 started
2021-02-26 11:28:19.687855700 [minotari_miner::miner] INFO  Mining thread 2 stopped
2021-02-26 11:28:19.688251200 [minotari_miner] INFO  Miner 2 found block header BlockHeader { hash: [...], version: 1,
  height: 8493, prev_hash: [...], timestamp: Some(Timestamp { seconds: 1614331698, nanos: 0 }), output_mr: [...],
  witness_mr: [...], total_kernel_offset: [...], nonce: 8415580256943728281, pow: Some(ProofOfWork { pow_algo: 2,
  pow_data: [] }), kernel_mmr_size: 24983, output_mmr_size: 125474 } with difficulty 7316856839
  • 关于池化SHA3挖矿

    • 池运营商:Tor和所需的Minotari应用程序必须按照以下顺序启动

      • Tor

        • Linux/OSX:执行start_tor.sh
        • Windows:在Tari安装文件夹中的“Start Tor Serviecs”菜单项或“start_tor快捷方式。
      • Minotari基础节点

        • Linux/OSX:按照运行时链接
        • Windows:按照运行时链接或Tari安装文件夹中的“Start Base Node菜单项或“start_minotari_node快捷方式。
      • Minotari钱包

        • Linux/OSX:按照运行时链接
        • Windows:按照运行时链接或Tari安装文件夹中的“Start Console Wallet菜单项或“start_tari_console_wallet快捷方式。
      • MiningCore

    • 矿工

      • Minotari矿工
        • Linux/OSX:按照运行时链接
        • Windows:按照运行时链接或Tari安装文件夹中的“Start Miner菜单项或“start_tari_miner快捷方式。

Tari合并挖矿

为了与Tari执行合并挖矿,需要以下应用程序

  • 一个 Minotari 基节点 [提供区块链元数据信息];
  • Minotari钱包[用于收集Tari区块奖励(coinbase交易)];
  • Minotari合并挖矿代理[用于启用所有应用程序之间的通信];
  • XMRig[用于执行挖矿];
  • Monero钱包(特别是测试网期间的stagenet钱包地址;提供的钱包可以使用,或可以设置自定义钱包)[用于收集Monero区块奖励(coinbase交易)].

Minotari合并挖矿代理将成为所有这些应用程序之间的通信网关,并协调所有活动。当在各自的难度下解决RandomX时,它还将提交最终确定的Minotari和Monero区块到相应的网络。

运行时先决条件

Minotari基础节点、Minotari钱包和Minotari合并挖矿代理都可以在相同的目录下运行,而XMRig将在其自己的目录下运行。按照使用二进制文件安装中描述的默认安装,所有这些应用程序都将可用。

XMRig也可以从源代码构建。如果这是您的选择,请按照以下说明操作:https://xmrig.com/docs/miner/

配置先决条件

Minotari应用程序

所有三个Minotari应用程序的配置前提条件相同。在执行默认安装后,定位主配置文件(config.toml),该文件将在Linux中的~/tari_esmeralda_testnet/config(或Windows中的%USERPROFILE%\.tari-testnet\config)目录下创建。

在主配置文件中,除了现有的设置外,如果尚未启用,以下也必须启用

  • 对于Minotari基础节点和Minotari钱包,分别在base_node.esmeraldawallet部分下
    [wallet]
    grpc_address = "127.0.0.1:18143"
    
    [base_node.esmeralda]
    transpo*_r_*t = "tor"
    allow_test_addresses = false
    base_node_grpc_address = "127.0.0.1:18142"
    

根据您是否使用单独挖矿或自选挖矿,您将使用以下之一

单独挖矿
  • 对于Minotari合并挖矿代理,在merge_mining_proxy部分下

    [merge_mining_proxy]
    monerod_url = [ # stagenet
      "http://stagenet.xmr-tw.org:38081",
      "http://stagenet.community.xmr.to:38081",
      "http://monero-stagenet.exan.tech:38081",
      "http://xmr-lux.boldsuck.org:38081",
      "http://singapore.node.xmr.pm:38081",
    ]
    
    proxy_host_address = "127.0.0.1:18081"
    proxy_submit_to_origin = true
    monerod_use_auth = false
    monerod_username = ""
    monerod_password = ""
    
自选挖矿
  • 对于Minotari合并挖矿代理,在merge_mining_proxy部分下

    [merge_mining_proxy]
    monerod_url = [ # stagenet
      "http://stagenet.xmr-tw.org:38081",
      "http://stagenet.community.xmr.to:38081",
      "http://monero-stagenet.exan.tech:38081",
      "http://xmr-lux.boldsuck.org:38081",
      "http://singapore.node.xmr.pm:38081",
    ]
    
    proxy_host_address = "127.0.0.1:18081"
    proxy_submit_to_origin = false
    monerod_use_auth = false
    monerod_username = ""
    monerod_password = ""
    

注意:上面示例中显示的端口180811814218143不应被其他进程使用。如果是,请选择不同的端口。您还需要在下面的步骤中更新端口。

设置的monerod_url必须包含运行Monero主网(例如,["http://18.132.124.81:18081"])或测试网(例如,["http://monero-stagenet.exan.tech:38081"])的monerod的有效地址,这可能是一个公共节点或本地实例。为了测试monerod_url地址是否正常工作,例如,您可以尝试在互联网浏览器中粘贴host:port/get_height

http://18.132.124.81:18081/get_height

典型的响应将是

{
  "hash": "ce32dd0a6e3220d57c368f2cd01e5980a9b4d70f02b27274d67142d5b26cb4d6",
  "height": 2277206,
  "status": "OK",
  "untrusted": false
}

注意:有关在Linux上设置本地Monero测试网的指南,请参阅此处

XMRig配置

XMRig配置必须为与Monero的单独挖矿或池合并挖矿做好准备。建议使用XMRig配置文件,因为它提供了更多灵活性;否则,可以在运行时通过命令行传递配置参数。

备注

  • Monero主网和测试网钱包地址只能与相应的网络一起使用。monerod_url配置设置(见Minotari应用程序)也必须与所选网络相匹配。
  • 对于单挖配置,Monero目前不支持使用子地址请求挖矿模板。由于模板是由矿工通过池的钱包地址请求的,因此可以通过自选配置来实现。
单挖

可以使用XMRig配置向导创建一个JSON格式的单挖配置文件

  • 开始 -> + 新配置

  • 池 -> + 添加守护进程

    • 使用添加新的守护进程 用于 单挖,填写所需信息,然后 + 添加守护进程
      • 主机端口:这必须与Tari配置文件中的proxy_host_address相对应。
      • 安全连接 (TLS):不勾选。
      • 币种:Monero。
      • 钱包地址:这必须是您自己的测试网或主网钱包地址,或者您可以使用这些捐赠地址
  • 后端 -> 选择 CPU (根据您的计算机硬件,也可以是 OpenCLCUDA)。

  • 杂项 -> 使用 捐赠,输入您的偏好。

  • 结果 -> 使用 配置文件,复制或下载,然后保存为 config.json

使用上面的公共测试网钱包地址,生成的配置文件应如下所示

{
    "autosave": true,
    "cpu": true,
    "opencl": false,
    "cuda": false,
    "pools": [
        {
            "coin": "monero",
            "url": "127.0.0.1:18081",
            "user": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
            "tls": false,
            "daemon": true
        }
    ]
}
池挖矿使用自选

对于池挖矿,从XMRig配置向导获得的配置文件必须添加Tari特定的设置。使用向导创建以下内容

  • 开始 -> + 新配置

  • 池 -> + 添加池 -> 自定义池

    • 使用添加新的自定义池,填写所需信息,然后 + 添加池
      • 主机端口:这必须是一个支持自选的Monero主网挖矿池。
      • 安全连接 (TLS):勾选/不勾选(根据池的要求)。
      • keepalive:勾选。
      • nicehash:不勾选。
      • 用户:这必须是您自己的主网钱包地址,或者您可以使用此地址捐赠给Monero
      • 密码:一个自定义字段,可以是您的钱包名称或一些其他池设置。
      • 币种:Monero。
      • 算法:rx/0。
  • 后端 -> 选择 CPU (根据您的计算机硬件,也可以是 OpenCLCUDA)。

  • 杂项 -> 使用 捐赠,输入您的偏好。

  • 结果 -> 使用 配置文件,复制或下载,然后保存为 config.json

  • "pools"部分添加自定义条目"self-select": "127.0.0.1:18081""submit-to-origin": true

矿池 cryptonote.social 需要您在钱包地址中添加一个个性化的用户名,以便您可以查询自己的矿池统计信息,用句点分隔,例如 <YOUR WALLET ADDRESS>.<pool specific user name>。为了演示目的,donatemonero 已与上述公开主网钱包地址关联。如果您访问 https://cryptonote.social/xmr 并在 Username: 文本框中输入 donatemonero,您将看到该地址的一些合并挖矿活动。此练习使用的配置文件如下所示

{
    "autosave": true,
    "cpu": true,
    "opencl": false,
    "cuda": false,
    "pools": [
        {
            "coin": "monero",
            "algo": "rx/0",
            "url": "cryptonote.social:5555",
            "user": "888tNkZrPN6JsEgekjMnABU4TBzc2Dt29EPAvkRxbANsAnjyPbb3iQ1YBRk1UXcdRsiKc9dhwMVgN5S9cQUiyoogDavup3H.donatemonero",
            "pass": "start_diff=220000;payment_scheme=pprop;donate=0.5",
            "tls": false,
            "keepalive": true,
            "nicehash": false,
            "self-select": "127.0.0.1:18081",
            "submit-to-origin": true
        }
    ]
}

执行合并挖矿

必须启动 Tor 和所需的 Minotari 应用程序,最好按以下顺序

  • Tor

    • Linux/OSX:执行start_tor.sh
    • Windows:在Tari安装文件夹中的“Start Tor Serviecs”菜单项或“start_tor快捷方式。
  • Tari基础节点

    • Linux/OSX:按照运行时链接
    • Windows:按照运行时链接或Tari安装文件夹中的“Start Base Node菜单项或“start_minotari_node快捷方式。
  • Tari控制台钱包

    • Linux/OSX:按照运行时链接
    • Windows:根据 运行时链接Start Console Wallet 菜单项或 Tari 安装文件夹中的 start_minotari_console_wallet 快捷方式。
  • Tari 合并挖矿代理

    • Linux/OSX:按照运行时链接
    • Windows:根据 运行时链接Start Merge Mining Proxy 菜单项或 Tari 安装文件夹中的 start_minotari_merge_mining_proxy 快捷方式。

此外,根据下一节中所述的独立或池挖矿选择一个合并挖矿选项。

与 Monero 进行独立合并挖矿

本段适用于在主网或测试网上独立挖矿 Monero 以及在测试网上独立挖矿 Tari。

使用 daemon 选项支持与 Monero 的独立合并挖矿。

合并挖矿代理配置

如前所述,config.toml 中的 monerod_url 字段应启用相应的主网或测试网 Monero 钱包地址。

# URL to monerod
  monerod_url = [ # mainnet
  "http://18.132.124.81:18081",
  "http://xmr.support:18081",
  "http://node1.xmr-tw.org:18081",
  "http://xmr.nthrow.nyc:18081",
  ]
  monerod_url = [ # stagenet
    "http://stagenet.xmr-tw.org:38081",
    "http://stagenet.community.xmr.to:38081",
    "http://monero-stagenet.exan.tech:38081",
    "http://xmr-lux.boldsuck.org:38081",
    "http://singapore.node.xmr.pm:38081",
  ]
运行时

确保将 独立挖矿 中讨论的 config.json 配置文件复制到 XMRig 编译或安装文件夹,然后启动 XMRig。

  • Linux/OSX:在 XMRig 编译或安装文件夹中执行 ./xmrig

  • Windows:在 XMRig 编译或安装文件夹中执行 xmrig,或在 Tari 安装文件夹中的 Start XMRig 菜单项或 start_xmrig 快捷方式。

    注意:在现代 Windows 版本中,硬币挖矿软件默认被阻止,例如由 Windows Defender。确保在遇到挑战时允许这些进程运行。

    • PUA:Win32/币挖矿者
    • PUA:Win64/币挖矿者
    • 应用:XMRigMiner

注意以下 XMRig 控制台输出以确认它与合并挖矿代理连接并接受任务

* POOL #1      127.0.0.1:18081 coin monero
[2021-01-21 12:10:18.960]  net      use daemon 127.0.0.1:18081  127.0.0.1
[2021-01-21 12:10:18.960]  net      new job from 127.0.0.1:18081 diff 286811 algo rx/0 height 756669
[2021-01-21 12:10:56.730]  cpu      rejected (0/1) diff 286811 "Block not accepted" (656 ms)
[2021-01-21 12:10:57.398]  net      new job from 127.0.0.1:18081 diff 293330 algo rx/0 height 756670
[2021-01-21 12:12:23.695]  miner    speed 10s/60s/15m 4089.0 4140.2 n/a H/s max 4390.9 H/s
[2021-01-21 12:12:57.983]  cpu      accepted (1/1) diff 293330 (594 ms)

cpu: rejectedcpu: accepted 消息来自测试网或主网 monerod,并显示 Monero 统计信息。此时,挖矿和拒绝的 Minotari coinbases 应该在 Minotari 钱包中可见。

与 Monero 进行池合并挖矿(自行选择)

本段适用于在主网上池挖矿 Monero 以及在测试网上独立挖矿 Minotari。

Monero的合并挖矿支持使用XMRig的Stratum模式自选选项。我们尝试了两个支持此功能的矿池,分别是monero-pool,其参考池实现运行在这里,以及cryptonote.social。在正常自选模式下,XMRig从第三方请求Monero区块模板并将解决方案提交给矿池。Minotari在自选模式中添加了submit-to-origin选项,如果找到的解决方案仅匹配池的难度,XMRig将仅向池提交解决方案;但如果实现的难度同时满足池和Minotari的要求,它将同时提交给合并挖矿代理和矿池。

合并挖矿代理配置

config.toml中的monerod_url字段应启用主网值。

# URL to monerod
  monerod_url = [ # mainnet
  "http://18.132.124.81:18081",
  "http://xmr.support:18081",
  "http://node1.xmr-tw.org:18081",
  "http://xmr.nthrow.nyc:18081",
  ]
运行时

确保将自选矿池挖矿中讨论的config.json配置文件复制到XMRig构建或安装文件夹,然后像以前一样启动XMRig进行独立挖矿。

注意XMRig控制台中的以下输出,以确认它已连接到矿池和合并挖矿代理并接受工作

* POOL #1      cryptonote.social:5555 coin monero self-select 127.0.0.1:18081 submit-to-origin
[2021-01-18 11:40:48.392]  net      new job from cryptonote.social:5555 diff 220006 algo rx/0 height 2277084
[2021-01-18 11:41:22.378]  origin   submitted to origin daemon (1/0)  diff 284557 vs. 371742
[2021-01-18 11:41:22.812]  cpu      accepted (1/0) diff 220006 (433 ms)
[2021-01-18 11:41:39.201]  miner    speed 10s/60s/15m 1562.2 1630.4 n/a H/s max 1710.0 H/s
[2021-01-18 11:42:06.320]  cpu      accepted (2/0) diff 220006 (482 ms)

状态消息origin: 已提交到原代币: 已提交给原代币(1/0)origin: 未提交到原代币, 难度太低(1/1)与Tari网络的提交有关,而cpu: 已接受(1/0)与池有关。

挖矿和被拒绝的Tari币基在Tari控制台钱包中可见,在池界面中可见池份额。如果您使用的是如上例中的cryptonote.social:5555,请访问https://cryptonote.social/xmr并在Username:下输入您的钱包身份以查看您的份额,或如果您使用了此配置示例,请尝试taritest

项目文档

RFC文档

RFCs是长篇技术文档,提出对Tari网络和生态系统的更改和功能。它们托管在https://rfc.tari.com上,RFC仓库位于https://github.com/tari-project/rfcs

源代码文档

运行

cargo doc

以生成文档。生成的html位于target/doc/。或者,要直接在浏览器中打开特定包的文档,请运行以下命令

cargo doc -p <package> --open

对话频道

我们通常在Discord上。

无运行时依赖