SCDO wiki
Search
K

挖矿

挖矿入门

SCDO主网简介

SCDO主网由四个分片组成,使用PoW工作量证明共识算法。每个分片的的行为类似一个区块链。尽管用户可以在一个分片内或两个不同的分片之间发送交易和事务,但挖矿节点(一个计算机程序)只能在一个分片中挖掘。为了挖掘SCDO token,您需要一个名为node的计算机程序和一个json格式的配置文件。配置文件包含两个关键元素:接收通证(token)奖励的地址-coinbase,以及用于SCDO p2p网络连接的唯一的私钥-privateKey。在接下来的几节中,我们将说明如何生成coinbase ,privateKey和编写一个配置文件。这些完成后,您就可以挖掘SCDO token了。
挖矿详细说明,请参考挖矿指南

下载

下载最新的可执行程序和配置文件模板。所提取的目录具有以下结构:
mac/linux/windows
├── node1.json //shard1 config template
├── node2.json //shard2 config template
├── node3.json //shard3 config template
├── node4.json //shard4 config template
└── build
├── client //client executable for getting info
├── discovery
├── light
├── node //node executable for running a SCDO network node
├── tool
└── vm
在下一节中,我们的重点是如何通过编辑json配置模板,创建一个配置文件。该文件对于运行挖矿节点是必需的。我们使用linux环境和分片1(node1.json配置模板)作为示例(Mac / windows环境非常相似)。
我们用 $PATH_TO_NODE_CLIENT 表示到这些配置文件模板和可执行程序"node","client" 所在目录的路径。

创建配置文件

在文本编辑器中打开配置模板node1.json。其内容与以下同或类似:
"basic": {
"name": "scdo node1",
"version": "1.0",
"dataDir": "Snode1",
"address": "0.0.0.0:8027",
"coinbase": "1S01cf0b32593068f2ace7c472d5f127d3422d3b61",
"algorithm": "zpow"
},
"p2p": {
"privateKey": "0xf65e40c6809643b25ce4df33153da2f3338876f181f83d2281c6ac4a987b1479",
"staticNodes": [
"74.208.207.184:8057",
"74.208.207.184:8058",
"74.208.207.184:8059",
"74.208.207.184:8056",
"74.208.136.152:8056",
"74.208.136.152:8057",
"74.208.136.152:8058",
"74.208.136.152:8059"
],
"address": "0.0.0.0:8057",
"networkID": "scdo"
},
"log": {
"isDebug": false,
"printLog": true
},
"httpServer": {
"address": "0.0.0.0:8037",
"crossorigins": [
"*"
],
"whiteHost": [
"*"
]
},
"wsserver": {
"address": "0.0.0.0:8047",
"crossorigins": [
"*"
]
},
"ipcconfig": {
"name": "scdo1.ipc"
},
"metrics": {
"address": "0.0.0.0:8087",
"duration": 10,
"database": "influxdb",
"username": "test",
"password": "test123"
},
"genesis": {
"difficult": 1900000,
"shard": 1,
"timestamp": 1596942480
}
}
目前为了创建一个配置文件,我们只需要替换basic部分中的coinbase和p2p部分中的privateKey即可.
为了生成coinbase 和 privateKey, 我们需要执行下面的命令行:
$ $PATH_TO_NODE_CLIENT/client key --shard 1
输出是:
Account: 1S0113339046e140620a05ab98abdfadedbbd88191
Private key: 0x75b032e8c53aea77288d46a7e2b508292d4b41a2b4f8ef265220535bb0012c45
用 1S0113339046e140620a05ab98abdfadedbbd99191 替换 basic 的 “coinbase”: 后面的字符串。 请保存私钥 0x75b032e8c53aea77288d46a7e2b508292d4b41a2b4f8ef265220535bb0012c45 在一个安全的地方,避免丢失或被盗. 你未来发送交易和事务时需要用到它。
再次执行相同的命令
$ $PATH_TO_NODE_CLIENT/client key --shard 1
输出是:
Account: 1S018274d26bea7144a3d235620bc2ac6094e4f9d1
Private key: 0x442603781c5ea6993aa880cd991fefb167bc4fe9e68c25d9e7148b9872f07d5b
用 0x442603781c5ea6993aa880cd991fefb167bc4fe9e68c25d9e7148b9872f07d5b 替换p2p部分的 “privateKey”: 后面的字符串。 丢弃Account 字符串 1S018274d26bea7144a3d235620bc2ac6094e4f9d1。
我们得到下面的:
"basic": {
"name": "scdo node1",
"version": "1.0",
"dataDir": "Snode1",
"address": "0.0.0.0:8027",
"coinbase": "1S0113339046e140620a05ab98abdfadedbbd88191",
"algorithm": "zpow"
},
"p2p": {
"privateKey": "0x442603781c5ea6993aa880cd991fefb167bc4fe9e68c25d9e7148b9872f07d5b",
"staticNodes": [
"74.208.207.184:8057",
"74.208.207.184:8058",
"74.208.207.184:8059",
"74.208.207.184:8056",
"74.208.136.152:8056",
"74.208.136.152:8057",
"74.208.136.152:8058",
"74.208.136.152:8059"
],
"address": "0.0.0.0:8057",
"networkID": "scdo"
},
"log": {
"isDebug": false,
"printLog": true
},
"httpServer": {
"address": "0.0.0.0:8037",
"crossorigins": [
"*"
],
"whiteHost": [
"*"
]
},
"wsserver": {
"address": "0.0.0.0:8047",
"crossorigins": [
"*"
]
},
"ipcconfig": {
"name": "scdo1.ipc"
},
"metrics": {
"address": "0.0.0.0:8087",
"duration": 10,
"database": "influxdb",
"username": "test",
"password": "test123"
},
"genesis": {
"difficult": 1900000,
"shard": 1,
"timestamp": 1596942480
}
}
把它存到一个文件如 node1_1.json 或用个你喜欢的文件名字,但一定保留“json"文件格式。为了简单起见,我们还把这个文件存到 $PATH_TO_NODE_CLIENT目录之下。
你可能注意到每次执行 ./client key --shard # 都会给出不同的结果。这是对的。
你可用类似方式创建挖掘其他分片的配置文件。有关更多详细说明,请参看创建配置文件

运行挖矿节点

在启动挖矿节点之前,您的计算机必须连接到Internet。
执行下列命令:
$ $PATH_TO_NODE_CLIENT/node start -c $PATH_TO_NODE_CLIENT/node1_1.json --threads 8
在挖矿节点启动和运行之后, 日志信息将显示在计算机屏幕上。
注:数字8表示有8个线程并行挖掘。用户可以根据自己的机器性能更改此数。例如,如果你的计算机的CPU有16个内核,则可设此数16或更大的数。
当节点启动运行并已连接到SCDO网络时,可能需要几个小时才能将SCDO网络数据同步到该节点。 在节点的数据与SCDO网络的数据同步之后,该节点将开始挖掘区块并与SCDO网络中的其他节点竞争。

检查与SCDO网络的连接

节点启动并运行后,你可能需要检查该节点是否已连接到SCDO网络以便赢得SCDO通证。以下命令将执行此操作:
$ $PATH_TO_NODE_CLIENT/client getinfo --address ip:port
“ - -address”后面的字符串表示节点的IP和端口。在此示例中,你可以使用“ - -address localhost:8027”。分片1的默认端口是8027,分片2的默认端口是8028,分片3的默认端口是8029,分片4的默认端口是8026。由于节点在分片1中进行挖掘,下面是输出消息。
如果“ PeerCnt”不为零,则该节点已连接到SCDO网络。 数组(3 3 1 3)表示每个分片中来自SCDO网络的多少个节点连接到你的挖矿节点。例如,分片1中有3个节点,分片3中有1个节点连接到你的节点。
{
"BlockAge": 23,
"Coinbase": "1S011c9dab11f953875fafc374a641bdaf58488771",
"CurrentBlockHeight": 3339035,
"HeaderHash": "0x53edbf3f80e3ffeefcb28cf6070939df7ea46926e94502f5e60a96e7459790b0",
"MinerStatus": "Running",
"PeerCnt": "10 (3 3 1 3)",
"Shard": 1,
"Version": "Scdo_V1.0.0"
}
在挖矿节点已连接到同一分片中的至少一个其他节点之后,与SCDO网络/区块链数据的同步将开始。完成数据同步可能需要花费几个小时,具体取决于你的Internet连接速度。此后,将开始真正的挖掘。当你看到正在运行的节点的输出消息时,你会理解。
稍后,我们将显示仅用于运行数据同步的节点的选项。

查看账户余额

在挖矿节点启动一段时间后,你想看看你是否挖到SCDO通证(SCDO)。在本节中,我们说明如何查看。
配置文件中“ coinbase:”之后的十六进制格式字符串是你的挖矿帐户的地址。在我们的示例中,它是1S0113339046e140620a05ab98abdfadedbbd88191。
请执行如下命令:
$ $PATH_TO_NODE_CLIENT/client getbalance --account 1S0113339046e140620a05ab98abdfadedbbd88191 --address 0.0.0.0:8027
输出如下面的样子:
{
"Account": "1S0113339046e140620a05ab98abdfadedbbd88191",
"Balance": 400000000
}
实际的输出余额可能不同。
注: 余额单位是文(Wen)。 100,000,000 Wen = 1 SCDO. 因此在上面的输出了 400,000,000 Wen = 4 SCDO。

挖矿详细指南

SCDO网络和挖矿基本说明

SCDO网络是点对点(p2p)网络,网络所有节点分为4个分片。 SCDO区块链使用自己独特的工作量证明共识算法(命名为ZPoW)。该算法基于随机矩阵生成和行列式计算。 ZPoW是CPU友好的。从ZPoW的测试结果来看,我们没有发现GPU / ASIC芯片具有特殊优势。因此,任何拥有计算机的个体/组织可以挖掘SCDO区块链。奖励通证命名为SCDO。 SCDO的最小单位为WEN,1 SCDO = 100,000,000 WEN。
对于分片 n 中的每个挖矿节点:它保留一条局部链和3条轻链,用于存储信息或数据。挖矿节点将所有涉及本片账户的交易数据存储在局部链里。每条轻链存储其相关片的局部链的每个块的哈希值。例如,如果挖掘节点位于分片1中,则有一条局部链来存储所有与分片1中的帐户有关的交易数据(区块),使用三条轻链记录其他3个分片的局部链的区块哈希值。例如,轻链2存储了分片2的局部链中所有块的哈希值,等等。借助局部链和轻链,SCDO区块链可正常运行。
由于SCDO网络节点被划分为4个分片,帐户也是如此划分。帐户具有一对唯一的地址和私钥。该地址用于持有账户余额,私钥用于签署发出的交易。
为了挖掘SCDO,你需要创建一个(或多个)帐户。
一个挖矿节点只能在一个分片中运行,使用json文件来配置。
综上所述,为了运行一个挖矿节点,你需要:
  1. 1.
    账户 (一个地址和私钥匙对),
  2. 2.
    配置文件
同样,以下所有演示均是linux / unix环境。我们假设读者对操作系统有基本的了解。 MAC和Windows中命令的执行与linux / unix非常相似。

下载可执行文件(程序)

下载最新的 可执行文件和配置文件模板 。提取的目录具有以下结构:
mac/linux/windows
├── node1.json //shard1 config template
├── node2.json //shard2 config template
├── node3.json //shard3 config template
├── node4.json //shard4 config template
└── build
├── client //client executable for getting info
├── discovery
├── light
├── node //node executable for running a node
├── tool
└── vm
对于挖矿,只需要可执行文件 nodeclient,并根据这些模板创建自己的配置文件。如果在分片1中挖矿,请使用node1.json作为模板。node2.json用于分片2,node3.json用于分片3,依此类推。

下载 SCDO 源码和编译

你可能需要根据源代码自行构建可执行文件。 从 源代码 下载源代码。按照 README.md 文件里的指示操作或转到 编译节点 一节.
配置文件模板应位于项目源代码目录中 $PROJECTRDIR/scdoproject/go-scdo/cmd/node/config, 这里 $PROJECTRDIR 是你机器上通往 scdoproject 的路径。

创建账户

帐户由一对唯一的地址和私钥标识。地址的前4个字符表示该帐户属于哪个分片。
假设我们已经在包含可执行文件 nodeclient 的目录之下。
通过执行命令,
$ ./client key --shard [option shard number]
片数可以是 1,2,3,4 中的任何一个,例如 执行:
$ ./client key --shard 1
得输出,
Account: 1S014f574f8b5749eff6d24f18640d820327c5daf1
Private key:0x1c18aaa42429e903aa4aba753e500e3e0061f7dbca6d1a2c6499b2226b72a0ec
注:地址(address)在输出里用 "Account" 标识。 前面4个字符标识账户(地址)属于哪个片。而且上述命令每一次的执行都会给出不同的结果。
执行 $ ./client keys --shard 2
输出是
Account: 2S0215ac0412394ec2fa4215b72602a70724bf9b11
Private key: 0x4e19191ed142c5fb9af0425b16399a09e35ef1e913d68e4fd1cbbb538de74d7d
你按自己的意愿可以生成多个账户。
通常,地址和私钥具有一一对应关系。由于SCDO有4个分片,因此允许你使用一个私钥来控制四个不同的帐户/地址,每个分片一个。也就是说有四个账户地址可以用同一个私钥。这四个账户(地址)是按如下方法生成的:
执行不带分片选项的上述命令行,将始终给出分片1中的一对地址和私钥:
$ ./client key
输出为:
Account: 1S01f18fd1317001c81d9cb8346521cdd9f486bb41
Private key: 0xa94c7bb78579585a8b1d3346034fc124ace2e79ba80c3107fbb3d72be86dcb8f
我们前面提到过,“帐户”字符串中的前4个字符表示该帐户属于哪个分片。
如果编辑帐户字符串:>1S01f18fd1317001c81d9cb8346521cdd9f486bb41 的前四个字符,你可以得到如下三个不同的地址
2S02f18fd1317001c81d9cb8346521cdd9f486bb41
3S03f18fd1317001c81d9cb8346521cdd9f486bb41
4S04f18fd1317001c81d9cb8346521cdd9f486bb41
加上先前的一个,将有四对:
Account: 1S01f18fd1317001c81d9cb8346521cdd9f486bb41
Private key: 0xa94c7bb78579585a8b1d3346034fc124ace2e79ba80c3107fbb3d72be86dcb8f
Account:2S02f18fd1317001c81d9cb8346521cdd9f486bb41
Private key: 0xa94c7bb78579585a8b1d3346034fc124ace2e79ba80c3107fbb3d72be86dcb8f
Account: 3S03f18fd1317001c81d9cb8346521cdd9f486bb41
Private key: 0xa94c7bb78579585a8b1d3346034fc124ace2e79ba80c3107fbb3d72be86dcb8f
Account: 4S04f18fd1317001c81d9cb8346521cdd9f486bb41
Private key: 0xa94c7bb78579585a8b1d3346034fc124ace2e79ba80c3107fbb3d72be86dcb8f
这些都是SCDO中的有效帐户,并且具有相同的私钥0xa94c7bb78579585a8b1d3346034fc124ace2e79ba80c3107fbb3d72be86dcb8f。
不过,我们推荐每次通过执行下述命令行来生成不同帐户。
$ ./client key --shard [option]
现在你知道如何生成一对地址(又称公钥)和私钥了。让我们继续下一个任务-创建配置文件。

创建配置文件

启动挖矿节点,必须有配置文件。我们将从配置模板开始,解释关键部分。然后,用户可通过编辑模板文件创建自己的配置文件。

配置文件模板

{ "basic": { "name": "scdo node1", // "version": "1.0", "dataDir": "Snode1", "address": "0.0.0.0:8027", "coinbase": "1S01cf0b32593068f2ace7c472d5f127d3422d3b61", "algorithm": "zpow" }, "p2p": { "privateKey": "0xf65e40c6809643b25ce4df33153da2f3338876f181f83d2281c6ac4a987b1479", "staticNodes": [ "74.208.207.184:8057", "74.208.207.184:8058", "74.208.207.184:8059", "74.208.207.184:8056", "74.208.136.152:8056", "74.208.136.152:8057", "74.208.136.152:8058", "74.208.136.152:8059" ],
"address": "0.0.0.0:8057",
"networkID": "scdo"
},
"log": {
"isDebug": false,
"printLog": true
},
"httpServer": {
"address": "0.0.0.0:8037",
"crossorigins": [
"*"
],
"whiteHost": [
"*"
]
},
"wsserver": {
"address": "0.0.0.0:8047",
"crossorigins": [
"*"
]
},
"ipcconfig": {
"name": "scdo1.ipc"
},
"metrics": {
"address": "0.0.0.0:8087",
"duration": 10,
"database": "influxdb",
"username": "test",
"password": "test123"
},
"genesis": {
"difficult": 1900000,
"shard": 1,
"timestamp": 1596942480
}
}

配置模板文件的说明

basic 部分
"basic": { "name": "scdo node1", // "version": "1.0", "dataDir": "Snode1", "address": "0.0.0.0:8027", "coinbase": "1S01cf0b32593068f2ace7c472d5f127d3422d3b61", "algorithm": "zpow" }
"name": 节点名称, 标记. 你可使用任何名称,不过最好根据所在的片选择名称。这里表示是个片1的节点。
"version": SCDO发行版的版本号。它是你运行的node 的版本号。
"dataDir": 目录名字。该目录用于存储节点产生的数据,例如区块链数据,网络连接数据文件等。可以使用与“name”后面的字符串类似的名称。
"address": IP地址和端口号-节点的本地IP地址和端口号。执行 “client”命令时将使用此信息。对于分片1中的挖掘节点,端口号设置为8027(实际上,它可以是任何端口号,只要没有冲突即可)
"coinbase": 你的帐户地址。请参考 创建账户 如何生成地址(账户)和私钥. 然后用自己的账户替代coinbase后面的字符串。
"algorithm": "zpow" -- 不需要修改.
p2p 部分
"p2p": {
"privateKey": "0xf65e40c6809643b25ce4df33153da2f3338876f181f83d2281c6ac4a987b1479", "staticNodes": [ "74.208.207.184:8057", "74.208.207.184:8058", "74.208.207.184:8059", "74.208.207.184:8056", "74.208.136.152:8056", "74.208.136.152:8057", "74.208.136.152:8058", "74.208.136.152:8059" ], "address": "0.0.0.0:8057", "networkID": "scdo" },
The "privatekey": 它是你的节点的唯一网络标识符。你要通过命令“ ./client key ” 生成一个”Private key", 用它替换示例中”privateKey"后面的字符串。此私钥与你的帐户私钥无关。。另请参见 创建账户.
"staticNodes": 这些ip地址是你的挖矿节点尝试连接SCDO网络的起始节点。通常,你无需从模板中替换它们(以后可以添加更多)。端口号:8057用于分片1,8058分片2,8059分片3,8056分片4。这些静态节点通常由SCDO项目团队管理。它们用于SCDO区块链的数据同步。
"address": 节点的本地IP地址和端口号。如果你在分片1中挖矿,则端口号应为8057,依此类推。 如果其他挖掘节点想要连接你分片1的节点,使用的是这个端口号。
"networkID": 这是SCDO网络的ID。无需修改,否则将阻止你的挖矿节点加入SCDO网络。

配置模板其他部分

不需做任何修改。
编辑配置模板后,你可以将其保存为json格式的文件,例如node1_1.json(或不同名称,只是要记住是那个分片的即可)。

运行挖矿节点

执行下述命令
$ ./node start -c [配置文件名] --threads [线程数]
例如,使用我们前面一节创建的配置文件 node1_1.json,选取线程数为10, 命令将为:
$ ./node start -c ./node1_1.json --threads 10
如果这是你第一次执行该命令,则可能需要花费几个小时来同步所有SCDO 区块链的数据。如果使用以下选项,则效果会更好:
$ ./node start -c ./node1_1.json --threads 10 -m stop
这样可以加快数据同步。
日志信息将逐行显示在屏幕上,你可以“pipe”这些到一个文件里,并将其保存,如果需要的话。如果你的节点和SCDO网络的连接已建立,它将很快开始与SCDO网络同步数据。
当同步数据完成后,你需要关停node, 然后把 “-m stop" 移除,重新开始。如果你的机器速度较快,CPU i7以上,网络宽带链接良好,应该有很大机会争得SCDO通证奖励。

检查与SCDO网络连接

在你的挖矿节点启动并运行之后,为了有机会赢得一些SCDO奖励,该节点必需连接到SCDO网络。另外,它应与每个分片中的节点建立连接,以保持与网络的稳定连接。
为了查看连接状况信息,请使用
$ ./client getinfo [--address ip:port]
”- -address” 之后的字符串表示节点的ip和端口。在此示例中,你可以省略它,因为默认值为0.0.0.0:8027(对于分片1), 你的节点在片1挖矿。输出结果与下面的类似:
{
"BlockAge": 23,
"Coinbase": "1S011c9dab11f953875fafc374a641bdaf58488771",
"CurrentBlockHeight": 3339035,
"HeaderHash": "0x53edbf3f80e3ffeefcb28cf6070939df7ea46926e94502f5e60a96e7459790b0",
"MinerStatus": "Running",
"PeerCnt": "10 (3 3 1 3)",
"Shard": 1,
"Version": "Scdo_V1.0.0"
}
"BlockAge": 23表示局部链最新区块挖出至今的时间。
"Coinbase": "1S011c9dab11f953875fafc374a641bdaf58488771", 你的挖矿账户地址.
"CurrentBlockHeight": 3339035, 局部链最新区块的高度。
"HeaderHash": "0x53edbf3f80e3ffeefcb28cf6070939df7ea46926e94502f5e60a96e7459790b0", 局部链的最新区块的哈希值,在我们的示例中为分片1的局部链块头。
"MinerStatus": "Running", 挖矿节点状态。
"PeerCnt": "10 (3 3 1 3)", 表示连接的节点总数为10。其中在片1,片2各三个,片3 一个、片4 三个。如果没有零,那非常好!
"Shard": 1, 表示片1挖矿。
如果你想了解有关连接的更多信息,请执行以下操作:
$ ./client p2p peersinfo [--address ip:port]
因为我们的节点在片1挖,可以省略ip 地址和port. 输出结果将类似于以下内容:
[
{
"caps": [
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1",
"lightScdo_2/1"
],
"id": "1S01759e0cbd1b801508924e90e35dc9c70bd601e1",
"network": {
"localAddress": "192.168.1.38:44056",
"remoteAddress": "74.208.207.184:8057"
},
"protocols": {
"lightScdo_1": "handshake",
"lightScdo_2": "handshake",
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1696077961295,
"head": "f7b699259bca687a4760d96e8ea08a4ccf607bbdc99cd4432aaf1f534a60e471",
"version": 1
}
},
"shard": 1
},
{
"caps": [
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1"
],
"id": "2S024fdf4e2f59eb5fc16837c8419d971e17f99551",
"network": {
"localAddress": "192.168.1.38:47118",
"remoteAddress": "74.208.136.152:8058"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1687915773901,
"head": "5128f82743db7b3d9dc9a45cb4ff717fa3dae9c796f65daa83c28da41fd6f14b",
"version": 1
},
"lightScdo_2": {
"difficulty": 1714829896315,
"head": "5a2f49eaf3e144f514b68be0e7c4924448404429cb0e966e803ab560",
"version": 1
},
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1714829896315,
"head": "be33c8405a2f49eaf3e144f514b68be0e7c4924448404429cb0e966e803ab560",
"version": 1
}
},
"shard": 2
},
{
"caps": [
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1"
],
"id": "2S02b486bcfdc07ea6417225721dbfe0246325c7a1",
"network": {
"localAddress": "192.168.1.38:57300",
"remoteAddress": "74.208.207.184:8058"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1687784917421,
"head": "6ddd3de03021a3aecbdd3dbd286d743d394b0d6a20f15dbc7c32b0699edd46ba",
"version": 1
},
"lightScdo_2": {
"difficulty": 1714824520587,
"head": "fe904ca61847dad5182e8b6dc95303db5b33b84048d47528b44aa0a32911af79",
"version": 1
},
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1714824520587,
"head": "fe904ca61847dad5182e8b6dc95303db5b33b84048d47528b44aa0a32911af79",
"version": 1
}
},
"shard": 2
},
{scdorand_linux_amd64.a
"caps": [
"lightScdo_2/1",
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1"
],
"id": "2S02d83dc671800300f80546b8cacd266bca9cab41",
"network": {
"localAddress": "192.168.1.38:47876",
"remoteAddress": "109.228.36.218:8058"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1687759712020,
"head": "8d1fca279d826d85eba52a9f38fdac73390aa549853451a489b2729734bb0369",
"version": 1
},
"lightScdo_2": {
"difficulty": 1714829896315,
"head": "be33c8405a2f49eaf3e144f514b68be0e7c4924448404429cb0e966e803ab560",
"version": 1
},
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1714829896315,
"head": "be33c8405a2f49eaf3e144f514b68be0e7c4924448404429cb0e966e803ab560",
"version": 1
}
},
"shard": 2
},
{
"caps": [
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1"
],
"id": "3S03c3fe4ba31da9246c065c4e15a93e9ae71c67b1",
"network": {
"localAddress": "192.168.1.38:41990",
"remoteAddress": "74.208.207.184:8059"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1687794976919,
"head": "16f4a62b766dd6c1b6ba9324993d2f6b883fb4e21e57da117955ee8ed98ee5fc",
"version": 1
},
"lightScdo_2": "handshake",
"lightScdo_3": {
"difficulty": 1701944364685,
"head": "1399e67ef78aa19d3a4ffa99784fc276675d9906e8a837f29ae2bd4b520fe4a1",
"version": 1
},
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1701944364685,
"head": "1399e67ef78aa19d3a4ffa99784fc276675d9906e8a837f29ae2bd4b520fe4a1",
"version": 1
}
},
"shard": 3
},
{
"caps": [
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1"
],
"id": "4S04f17b6fc55cc58017aad9c5b33abeee5b1dbb41",
"network": {
"localAddress": "192.168.1.38:42890",
"remoteAddress": "104.254.244.44:8056"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1685204026183,
"head": "c704b010291d3a2c25ebfe8f7123c088a177feed77c7d55c06a78d02bc62ca3d",
"version": 1
},
"lightScdo_2": "handshake",
"lightScdo_3": "handshake",
"lightScdo_4": {
"difficulty": 1704245912720,
"head": "0017ced433cb1fa47045110f7fffca291291c33b0e842057f4fc2cbc33e42c83",
"version": 1
},
"scdo": {
"difficulty": 1704245912720,
"head": "0017ced433cb1fa47045110f7fffca291291c33b0e842057f4fc2cbc33e42c83",
"version": 1
}
},
"shard": 4
}
]
挖掘节点位于分片1中。让我们尝试理解上面的信息。输出结果由数据结构相同的多个部分组成。 这是其中之一:
{
"caps": [
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1",
"lightScdo_2/1"
],
"id": "1S01759e0cbd1b801508924e90e35dc9c70bd601e1",
"network": {
"localAddress": "192.168.1.38:44056",
"remoteAddress": "74.208.207.184:8057"
},
"protocols": {
"lightScdo_1": "handshake",
"lightScdo_2": "handshake",
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1696077961295,
"head": "f7b699259bca687a4760d96e8ea08a4ccf607bbdc99cd4432aaf1f534a60e471",
"version": 1
}
},
"shard": 1
},
上面告诉我们连接的远程节点属于分片1,其IP地址为“ 74.208.207.184:8057”。你现在可以忽略上述其他部分。
下节说明连接的远程节点属于分片4。
{
"caps": [
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1"
],
"id": "4S04f17b6fc55cc58017aad9c5b33abeee5b1dbb41",
"network": {
"localAddress": "192.168.1.38:42890",
"remoteAddress": "104.254.244.44:8056"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1685204026183,
"head": "c704b010291d3a2c25ebfe8f7123c088a177feed77c7d55c06a78d02bc62ca3d",
"version": 1
},
"lightScdo_2": "handshake",
"lightScdo_3": "handshake",
"lightScdo_4": {
"difficulty": 1704245912720,
"head": "0017ced433cb1fa47045110f7fffca291291c33b0e842057f4fc2cbc33e42c83",
"version": 1
},
"scdo": {
"difficulty": 1704245912720,
"head": "0017ced433cb1fa47045110f7fffca291291c33b0e842057f4fc2cbc33e42c83",
"version": 1
}
},
"shard": 4
}
其他相似的部分具有类似的解释。

查账户余额

即使你的挖矿节点已完全连接到SCDO网络,也无法保证一定能赢得一些回报。您赢得的SCDO数量将取决于计算机的算力。例如,Intel i5处理器会比Intel i9慢。
执行以下命令查看余额:
$ ./client getbalance --account 1S01cf0b32593068f2ace7c472d5f127d3422d3b61 --address 0.0.0.0:8027
你会从输出结果中看到余额。
注: 1S01cf0b32593068f2ace7c472d5f127d3422d3b61 -- 这将由您的配置文件中的coinbase替换。 0.0.0.0:8027 -- 这是分片1中你的挖矿节点的默认IP地址。它可以用分片1中的静态节点的IP地址代替。

编译可执行文件

首先,你需要在计算机上安装git,gcc和go(linux / mac / windows)软件包。
git 版本 2.17.1 或更新的版本.
gcc 版本 7.3.0 或更新的版本
go 版本 1.12.7 (这个版号不能变,因为SCDO使用了某些链接函数库)。
在主目录中创建路径 go/src/github.com/scdoproject

下载 go-scdo

~$ cd
~$ cd go/src/github.com/scdoproject
~$ git clone https://github.com/scdoproject/go-scdo.git
Cloning into 'go-scdo'...
remote: Enumerating objects: 53, done.
remote: Counting objects: 100% (53/53), done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 10032 (delta 13), reused 15 (delta 4), pack-reused 9979
Receiving objects: 100% (10032/10032), 12.25 MiB | 18.45 MiB/s, done.
Resolving deltas: 100% (5804/5804), done.

编译 go-scdo:

linux/mac环境:
~$ cd go-scdo
~$ make all
go build -o ./build/discovery ./cmd/discovery
Done discovery building
go build -o ./build/node ./cmd/node
Done node building
go build -o ./build/client ./cmd/client
Done full node client building
go build -o ./build/light ./cmd/client/light
Done light node client building
go build -o ./build/tool ./cmd/tool
Done tool building
go build -o ./build/vm ./cmd/vm
Done vm building
所有可执行文件在 ./build 目录下。
对于Windows,在命令提示符下执行“ buildall.bat”,而不是“ make all”。