作者:Cipher / stwith / 来源:Nervos Talk
一、简单版Nervos CKB挖矿教程挖矿教程第一步:确认系统版本
Windows 10 下查看系统设置-关于,确保系统版本号大于 1703(我的版本是 1809)。
第二步:打开 wsl 开关
进入:控制面板 - 程序 - 启用或关闭 Windows 功能 - 适用于 Linux 的 Windows 子系统
第三步:打开 Windows Store
搜索你喜欢的 Linux 发行版,例如 Ubuntu,选择安装(如果是 LTSC 版本,可以找教程打开 Windows Store 功能)
第四步:启动 Ubuntu 子系统,下载 CKB
在打开的命令行输入(注意找最新的 release 版本)
wget https://github.com/nervosnetwork/ckb/releases/download/v0.12.2/ckb_v0.12.2_x86_64-unknown-linux-gnu.tar.gz
解压缩
tar -zxvf ckb_v0.12.2_x86_64-unknown-linux-gnu.tar.gz
第五步:挖矿
设置 testnet:
./ckb init -c testnet
重新启动一个 ubuntu 终端
./ckb miner
特别注意:别忘了设置自己的收款地址,具体方法版内搜索吧。
小结
最简单的 Win10 挖矿了,不用安装虚拟机,不用安装依赖,直接使用。而且 WSL 是系统层,应该比应用层的 VM 内装 linux 挖矿效率高。推荐~
==================我是分割线=================二、Windows + WSL 挖矿详细版
第一步:确认系统版本
Windows 10 下查看系统设置-关于,确保系统版本号大于 1703(我的版本是 1809)。
关于如何检测 Windows 10 系统版本 1
第二步:打开 wsl 开关
右击我的电脑,进入:控制面板 - 程序 - 启用或关闭 Windows 功能 - 开启 适用于 Linux 的 Windows 子系统
![54](/d/file/201905/068f99d11ee161e16111076aed05d035.png)
54.PNG1180×890 60.9 KB
第三步:打开 Windows Store
搜索你喜欢的 Linux 发行版,例如 Ubuntu,选择安装(如果是 LTSC 版本,可以找教程打开 Windows Store 功能)
搜索框内,输入 Ubuntu,选择版本然后安装,我这里选择的是 18.04 的版本
![0](/d/file/201905/432510145b0e12f4a4d22c6924b256cf.png)
0.PNG1202×804 70.6 KB
第四步:启动 Ubuntu 系统,启动 CKB RUN:
1.在开始菜单中,启动 Ubuntu 系统,进入系统加载界面。然后根据提示依次设置,系统名称,系统密码,确认系统密码,然后系统启动成功。
![1](/d/file/201905/5bbff979dc84a09882def4f50b2953fc.png)
1.PNG1365×292 15.6 KB
2.我们在命令行里面输入
sudo apt-get install -y libssl1.0.0
<这个命令是安装一个名叫 libssl1.0.0 的依赖包>
然后按下回车;
3.接着在命令行里面输入
wget https://github.com/nervosnetwork/ckb/releases/download/v0.12.0/ckb_v0.12.0_linux_amd64.tar.gz
<这个命令是从网络上下载这个文件>
按下回车,开始下载 ckb_v0.12.0_linux_amd64 文件包,请耐心等待一段时间,等待下载完成;
![2](/d/file/201905/ebc7c5628bbee959951b7089b5fa524a.png)
2.PNG1365×766 93.9 KB
4.在命令行里面依次输入,每次输入完按回车:
tar -xzvf ckb_v0.12.0_linux_amd64.tar.gz
<这个命令是解压这个文件>
cd ckb_v0.12.0_linux_amd64
<这个命令是进入解压完的这个文件夹>
将 ckb_v0.12.0_linux_amd64 文件夹解压到当前目录;
![5](/d/file/201905/5814c41f590dc5118fc0d503f751eff3.png)
5.输入:
sudo ln -snf "$(pwd)/ckb" /usr/local/bin/ckb
然后输入密码,接着输入:
ckb --version
如果出现 ckb 0.12.0 (v0.12.0 2019-05-17) 结果,说明你已经安装成功 ckb;
![%E6%8D%95%E8%8E%B7](/d/file/201905/fe2c66e1a4168e50a378f94a14b9463c.png)
6.依次输入以下代码并回车:
ckb init -C ckb-testnet --spec testnet
<这个命令是用 ckb 的指令创建了一个名叫 ckb-testnet 的文件夹>
cd ckb-testnet
<这个指令是进入 ckb-testnet 这个文件夹>
ckb run
<开始同步 ckb 节点数据>
这个时候在你电脑上就已经跑着一个 CKB 的节点了,它会不断地同步之前的区块数据,我们将它放在一边,开始接下来创建钱包的工作;
![6](/d/file/201905/9e3bbe519dbde140ec5b623d42a8563b.png)
![7-1](/d/file/201905/75a1cccabb15f2a59a317dfbcc0fc5d9.png)
第五步:安装 Ruby-SDK,创建钱包:
1.打开开始菜单,再点击 Ubuntu 系统,开启一个新的终端。
输入:
sudo apt install curl
<这个命令是安装 curl 这个依赖程序>
回车,然后输入密码,再次回车;
![41](/d/file/201905/6004070b03db4bb2a8473da3f6bc1177.png)
41.PNG1411×766 20.5 KB
2.输入:
curl -d '{"id": 2, "jsonrpc": "2.0", "method":"get_tip_header","params": []}' -H 'content-type:application/json' 'http://localhost:8114'
回车;
![42](/d/file/201905/b1a3d300076e9560676c230707946e24.png)
42.PNG1411×766 32 KB
3.依次输入一下代码,然后回车:
sudo apt update
sudo apt install git-core curl build-essential libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev autoconf autogen libtool pkg-config libsodium-dev libsecp256k1-dev
sudo apt install ruby-full
sudo gem install bundler
<这些命令都是安装某些依赖程序>
回车,一路安装即可,要你输入Y,你就输入Y;
![11](/d/file/201905/c9886bb2b1d36e8978271a3bdcc763e6.png)
![12](/d/file/201905/371fb3043518c83a288cd97c8c1b9794.png)
![13](/d/file/201905/ce1aee291760f7895b42986053c4f282.png)
![14](/d/file/201905/40067fa39abc12ea3001b40d1f0900e6.png)
4.依次输入以下代码,并按回车;
git clone https://github.com/nervosnetwork/ckb-sdk-ruby
<从网络上复制下来这个 ckb-sdk-ruby 的文件包>
cd ckb-sdk-ruby
<进入这个文件包>
![15](/d/file/201905/655704b39865ee63057a167dd1eb7071.png)
15.PNG1216×766 31.4 KB
5.输入:
git checkout master
<切换到一个名叫 master 子集下面>
回车;
![16](/d/file/201905/4f47d110d60cac1560b89231d0fb0f7f.png)
6.输入:
bundle
回车,这个可能需要等待比较长的一段时间,请耐心等待,如果等了很久很久都没有反映,你可以尝试真老师的大招(断开当前的网络,连接自己的手机热点);后面要求输入password,你就输入password即可;
![17](/d/file/201905/dfba8aaef7a5c247b0f26b594e6a0c05.png)
7.当你看到这个画面的时候,就说明你的 bundle 已经成功了;
![18](/d/file/201905/8355c5a3030804a3ecd8979f7ccb1204.png)
18.PNG1216×766 23.7 KB
8.输入:
bin/console
我们会进入到一个 Ruby 的程序中去,不要退出去;
privkey = CKB::Key.random_private_key
获得一个随机的私钥;
api = CKB::API.new
wallet = CKB::Wallet.from_hex(api, privkey)
输入这两行命令,用刚刚创建的随机私钥,创建一个钱包;
wallet.address
获得这个钱包的地址;
请记得把这些数据用一个本子或者文本文件记录下来(保存在文本文件中其实并不可取),特别是 私钥,虽然只是测试网络,还是希望你可以用安全地方式记录下这些数据,因为我是截图的,所以这个钱包的私钥已经公开给了大家,这个钱包已经不安全了,请勿再次使用;
![19](/d/file/201905/b5600b0402ca950c063c7f9318c02d16.png)
19.PNG1216×766 70.9 KB
9.输入
puts wallet.block_assembler_config
你将获得 两个非常重要的参数 code_hash 和 args ,接下来你需要在一个名叫 ckb.toml 的文件中将这个两个参数改正成你获得的这两个参数,不然你挖出来的矿都会存入一个私钥公开的初始地址,会被别人无情的转移;
关于这两个参数的含义:(code_hash 是一个合约的 identifier(实际上是对合约做了签名得到的 hash), args 是 对公钥做 blake160 哈希化得到的字符串, 可以理解为一个私钥的 identifier(私钥=>公钥=>哈希后的字符串), 签名信息会通过 segwit 放到交易的 witness 部分)
![21](/d/file/201905/28274902ed5010da822e86aaf10b3658.png)
21.PNG1216×766 59.2 KB
第六步:修改 ckb.toml,开始挖矿:
1.我们再从开始菜单,打开一个新的 Ubuntu 终端,
输入
cd ckb_v0.12.0_linux_amd64/ckb-testnet/
<进入到 ckb-testnet 这个文件夹中去>
vi ckb.toml
<查看 ckb.toml 这个文件>
![31](/d/file/201905/a08730ec89a67f4ef99cf225f2e1e59f.png)
31.PNG1411×766 22.3 KB
2.通过上下键将光标找到 code_hash 和 args,接下来我们要修改这两行数据,按下键盘上的 “i” 键,进入文件编辑模式,将我们之前创建钱包时候获得的 code_hash 和 args 复制到指定位置,替换原来的数字(主要是替换 args,code_hash 应该是一样的 ),这一步操作有一定难度,请耐心操作。
![32](/d/file/201905/8758aa851f1ccfd8f60bb8af3fdb7435.png)
32.PNG1411×766 51.3 KB
3.最后我们要保存修改好的文件,按下键盘上的 “ESC”,然后输入:
:wq!
回车,这样你的 ckb.toml
文件就修改好了
![33](/d/file/201905/23b4eeec86b66b385a1d1ba4ba50286f.png)
33.PNG1411×766 50.2 KB
4.关掉你之前在跑 ckb run 的窗口,因为更改了ckb.toml
所以你要重新开始。
5.开启一个新的 Ubuntu 终端,依次输入,并回车
cd ckb_v0.12.0_linux_amd64/ckb-testnet/
ckb run
这个是你同步区块数据的终端
6.再开启一个新的 Ubuntu 终端,依次输入,并回车
cd ckb_v0.12.0_linux_amd64/ckb-testnet/
ckb miner
这个是你挖矿的终端
原文链接:https://talk.nervos.org/t/windows-wsl/2205