Autonomys之家
AI3们的阵地

MMX 挖矿方法和操作教程

mmx 节点

“ MMX – 快速、低成本、功能丰富、去中心化 – 具有实际货币的代币经济学”

一个从头开始编写的区块链,大多数事情都以不同的方式进行。

设计

  • 由共识管理的可变代币供应(1 个区块 = 1 票)
  • 高吞吐量 L1,具有一致的区块间隔(500 TPS,10 秒)
  • 新颖的智能合约 VM,易于开发和高性能
  • 节能的太空证明,带有可选的权益证明(仅限于 Tx 费用)
  • 调整区块奖励以稳定价格,这是任何货币的关键属性
  • 最低交易费用,允许大区块大小而无垃圾邮件
  • 限制外部库的使用,以保持代码库的整洁和安全
  • 没有预挖矿,没有 ICO,没有投资者
  • 基于账户的模型

元素

  • 高性能 C++ 代码(可轻松处理超过 1000 TPS)
    • 交易尽可能并行执行
  • 用于智能合约的自定义高级 VM
    • 对变体、数组、映射和对象的原生支持
    • 具有自动持久化和状态更新的统一内存
    • 将 JavaScript 的受限子集编译为字节码
    • 每行代码平均两条机器指令
  • 原生代币支持(无需“批准”,NFT = 1 mojo)
  • 基于智能合约报价的交易(固定价格、场外交易)
  • 基于流动性池掉期的交易(AMM,多费用等级,类似于 Uniswap v3)
  • 用于无缝集成的 ECDSA 签名(与比特币相同)
  • 自定义区块链数据库引擎(比 RocksDB 或 LevelDB 整体快得多)
  • 自适应 SHA256 VDF 控制区块间隔
  • 功能丰富的节点,内置区块浏览器、钱包、市场、交换、RPC 等

路线图

释放 日期 描述
测试网7 2022 年 9 月 完成。[1]
测试网8 2022 年 10 月 完成。激励测试网,高度 25k-425k。[2]
测试网9 2022 年 12 月 完成。激励测试网,高度 25k-1220k。[2]
测试网10 2023 年 4 月 完成。激励测试网,高度 40k-3200k。[2]
测试网11 2024 年 5 月 完成。新的绘图格式,抗压缩。
测试网12 2024 年 6 月 积极。激励测试网,高度 25k-TBD。[2]
主网 待定 计划于 2024 年第 4 季度。

[1]在测试网上种植的硬币现在或将来一文不值。
[2]在激励测试网上每赢得一个区块,将在主网创世时获得 0.5 MMX 的固定奖励。

窗户

您需要安装“Microsoft Visual C++ Redistributable for Visual Studio 2022”并将其更新到最新版本。

向下滚动到“其他工具和可再发行组件:” https://visualstudio.microsoft.com/downloads/

Windows 可执行文件:https://github.com/madMAx43v3r/mmx-node/releases

Linux的

依赖

Ubuntu Linux的:

sudo apt update
sudo apt install git cmake build-essential automake libtool pkg-config curl libminiupnpc-dev libjemalloc-dev libzstd-dev zlib1g-dev ocl-icd-opencl-dev clinfo screen

Arch Linux的:

sudo pacman -Syu
sudo pacman -S base-devel git cmake curl miniupnpc jemalloc zstd zlib opencl-headers ocl-icd clinfo screen

Fedora Linux的:

yum install kernel-devel git cmake automake libtool curl gcc gcc-c++ miniupnpc-devel jemalloc-devel ocl-icd-devel zlib-ng-devel zstd clinfo screen

注意:OpenCL 包是可选的,即。等。。。ocl-icd-opencl-dev

OpenCL 使用集成或专用 GPU 提供更快、更高效的 VDF 验证

在低功耗笔记本电脑上使用 Intel 1165G7 和 96EU iGPU 的标准 iGPU 可以在大约 4 秒内以 48 MH/s 的 timelord 速度验证 VDF。有关更多信息,请参阅:VDF 验证需要哪种 GPU?

如果您没有快速的现代 (>4 GHz) CPU,则需要具有支持 OpenCL 的 GPU。

请确保位于 and 或 组(取决于发行版)中,以便能够访问 GPU:videorender

sudo adduser $USER video
sudo adduser $USER render

建筑

git clone https://github.com/madMAx43v3r/mmx-node.git
cd mmx-node
./update.sh

要更新到最新版本:

./update.sh

要切换到最新的测试网:

rm NETWORK
./update.sh

重建

如果您怀疑某些文件可能无法正确构建,或者想要重新编译,请停止节点,然后运行:

./clean_all.sh
./update.sh

例如,在更新系统包时就需要这样做。

通过 WSL 的 Windows

要在 Windows 上的 WSL 中设置 Ubuntu 20.04,您可以按照此处的教程进行操作:
https://docs.microsoft.com/en-us/learn/modules/get-started-with-windows-subsystem-for-linux/

确保在第 2 步中安装 Ubuntu:https://www.microsoft.com/store/p/ubuntu/9nblggh4msv6

然后在开始菜单中键入“Ubuntu”并启动它,系统会要求您设置用户和密码。 之后,您可以按照 Ubuntu 20.04 的正常说明进行操作。

要让 OpenCL 在 WSL 中工作:https://devblogs.microsoft.com/commandline/oneapi-l0-openvino-and-opencl-coming-to-the-windows-subsystem-for-linux-for-intel-gpus/

Docker

Docker 镜像有几种风格:ghcr.io/madmax43v3r/mmx-node

  • edge:仅限最新提交 cpu
  • edge-amd:支持 amd gpu 的最新提交
  • edge-nvidia:支持 nvidia gpu 的最新提交

此外,每个 semver 标签都使用上面相同的三种风格生成标记图像: ,并且每个风格都有各自的后缀(例如)。 设置为最新的仅限 CPU 的 SEMVER 映像。<major>.<minor>.<patch><major>.<minor><major>0.9.5-amdlatest

每个映像都提供了一个卷,您可以使用自己的卷或映射路径覆盖该卷,以自定义节点数据的存储位置。/data

仅 CPU

A 对于仅 cpu 节点,可以如下所示:docker-compose.yml

version: '3'
services:
  node:
    image: ghcr.io/madmax43v3r/mmx-node:edge
    restart: unless-stopped
    volumes:
      - /some/path/to/mmx/node/data:/data

AMD 图形处理器

有关 amd gpu 支持,请参阅以下内容:docker-compose.yml

version: '3'
services:
  node:
    image: ghcr.io/madmax43v3r/mmx-node:edge-amd
    restart: unless-stopped
    group_add:
      - video
      - render
    devices:
      - /dev/dri:/dev/dri
      - /dev/kfd:/dev/kfd
    volumes:
      - /some/path/to/mmx/node/data:/data

注意:可能需要删除 in,具体取决于您的系统。- rendergroup_add

英伟达图形处理器

有关 nvidia gpu 支持,请参阅以下内容:docker-compose.yml

version: '3'
services:
  node:
    image: ghcr.io/madmax43v3r/mmx-node:edge-nvidia
    restart: unless-stopped
    runtime: nvidia
    volumes:
      - /some/path/to/mmx/node/data:/data

注意:对于 nvidia,您还需要在主机上安装 ,有关更多信息,请参阅:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#dockerNVIDIA Container Toolkit

远程收割机

运行远程采集器是通过覆盖 Dockerfile 来完成的,例如:CMD

version: '3'
services:
  harvester:
    image: ghcr.io/madmax43v3r/mmx-node:edge
    restart: unless-stopped
    volumes:
      - /some/path/to/mmx/node/data:/data
      - /some/path/to/disks:/disks
    command: './run_harvester.sh -n <some ip or hostname here>:11333'

自定义存储路径

要更改所有内容的存储路径,请将环境变量设置为 (需要尾部斜杠)。默认情况下,使用当前目录,即。.MMX_HOME/your/path/mmx-node

要继续进入 CLI 环境,请执行以下操作:

cd mmx-node
source ./activate.sh

创建钱包

mmx wallet create [-f filename]

文件名参数是可选的,默认情况下它是 ,它已包含在默认配置中。wallet.dat

要使用更多钱包,请将路径添加到 中的 数组中。key_filesconfig/local/Wallet.json

要创建具有已知种子哈希的钱包:

mmx wallet create <seed_hash> [-f filename]

要创建具有已知助记词种子的钱包:

mmx wallet create --mnemonic word1 word2 ... [-f filename]

要从钱包(节点/钱包已经运行)获取助记词种子:

mmx wallet get seed [-j index]

注意:需要重新启动 Node / Wallet 才能获取新钱包。

注意:或者,您现在可以在 GUI 中创建钱包:http://localhost:11380/gui/#/wallet/create

配置

注意:配置文件的大小写很重要。
注意:任何配置更改都需要重启节点才能生效。

自定义农民奖励地址

创建 / 编辑文件 :config/local/Farmer.json

{
	"reward_addr": "mmx1..."
}

默认情况下,使用第一个钱包的第一个地址。

自定义 Timelord 奖励地址

创建 / 编辑文件 :config/local/TimeLord.json

{
	"reward_addr": "mmx1..."
}

固定节点对等体

创建 / 编辑文件 :config/local/Router.json

{
	"fixed_peers": ["192.168.0.123", "more"]
}

启用 Timelord

echo true > config/local/timelord

自定义数据目录

要将区块链和数据库存储在自定义目录中,您可以设置环境变量(例如):MMX_DATA

export MMX_DATA=/mnt/mmx_data/

需要重新启动节点。(可选)可以将以前的文件夹复制到新路径(在停止节点后),以避免再次从头开始同步。testnetXMMX_DATA

标图

要获取用于绘图的 farmer 密钥,请执行以下操作:

mmx wallet keys [-j index]

节点需要运行才能使此命令正常工作。( 指定非默认钱包的索引)-j

通过 GUI,可以在 Wallet > Info 部分找到 farmer 密钥,请参阅:farmer_public_key

327954595-7ebc8eaa-d0f9-43fd-bb87-0788a59b138a

注: 在打印过程中,节点不需要运行(绘图仪甚至不需要 Internet 连接)。

在此处下载 CUDA 绘图仪: https://github.com/madMAx43v3r/mmx-binaries/tree/master/mmx-cuda-plotter

新格式不再有 CPU 绘图仪,因为它的效率太低了。任何旧的 Nvidia GPU 都可以,Maxwell 或更新版本。

完整 RAM 示例:./mmx_cuda_plot_k30 -C 5 -n -1 -t /mnt/tmp_ssd/ -d <dst> -f <farmer_key>

部分 RAM 示例:./mmx_cuda_plot_k30 -C 5 -n -1 -2 /mnt/tmp_ssd/ -d <dst> -f <farmer_key>

磁盘模式示例:./mmx_cuda_plot_k30 -C 5 -n -1 -3 /mnt/tmp_ssd/ -d <dst> -f <farmer_key>

用法与 Gigahorse (https://github.com/madMAx43v3r/chia-gigahorse/tree/master/cuda-plotter) 相同,只是没有 pool key。-p

如果您有一个快速的 CPU(passmark 基准测试> 5000 个点),则可以用于 HDD 图。-C 10

要创建 SSD 绘图(用于在 SSD 上耕作),请添加到命令并使用 。SSD 绘图的效率提高了 250%,但不能在 HDD 上耕种。它们需要耕种的 CPU 负载更高,因此建议绘制未压缩的 Plot。--ssd-C 0

主网的最小 k 大小为 k29,测试网为 k26。从 testnet11 开始的 plot 可以在以后重新用于主网。

要添加 plot 目录,请在 中添加 array 的路径,例如:plot_dirsconfig/local/Harvester.json

{
	"plot_dirs": [
		"/mnt/drive1/plots/",
		"/mnt/drive2/plots/",
		"C:/windows/path/example/"
	]
}

默认情况下,目录是递归搜索的。要禁用递归搜索,可以设置为 in 。recursive_searchfalseHarvester.json

由于上述原因,请避免添加根目录(例如 ),除非您的驱动器仅包含 plots。相反,创建一个文件夹并将所有绘图都放在其中(例如 )。H:\H:\MMX Plots\

运行节点

首先执行安装和设置步骤。

要为当前测试网运行节点:

./run_node.sh

如果您想帮助网络并接受传入连接,您可以在 TCP 端口 12341 上启用端口转发。

要为区块链、钱包文件等设置自定义存储路径:

export MMX_HOME=/your/path/

钱包文件将位于 ,其他所有内容都位于一个子文件夹中。默认情况下未设置,因此它是当前目录。MMX_HOMEtestnetXMMX_HOME

减少网络流量

如果您的 Internet 连接速度较慢或希望总体上减少流量,则可以在 中减少连接数。 例如,要以建议的最小值运行:config/local/Router.json

{
	"num_peers_out": 4,
	"max_connections": 4
}

num_peers_out是与同步对等体的最大传出连接数。 是最大连接总数。 请记住,这会增加您丢失同步的几率。max_connections

另一种更严厉的措施是通过设置为 in 来禁用将消息中继到其他节点。 但是,这会损害网络,因此请仅在绝对必要时禁用它。do_relayfalseconfig/local/Router.json

在后台运行

要在后台运行节点,您可以输入会话:screen

screen -S node
(start node as above)
<Ctrl+A> + D (to detach)
screen -r node (to attach again)

从分叉中恢复

要从特定高度开始重新同步:。 或者在运行时:。 如果由于某种原因您从网络中分叉,则需要这样做。只需从您卡住的当前高度减去 500 或 1000 个方块即可。 要从头开始重新同步,请删除 和 中的 文件夹,或运行 。./run_node.sh --Node.replay_height <height>mmx node revert <height>block_chain.datdbtestnetXmmx node revert 0

切换到最新的测试网

停止节点后:

rm NETWORK
./update.sh
./run_node.sh

区块链数据现在默认存储在 folder 中。testnetX

访问 WebGUI

要访问 WebGUI,请转到:http://localhost:11380/gui/

检查 $MMX_HOME/PASSWD 的登录密码,该密码是在首次启动时自动生成的。

仅在 localhost 上可用,因为可以完全访问您的钱包。

赞(0)
未经允许不得转载:Autonomys 中文社区 » MMX 挖矿方法和操作教程