ubuntu 18.04 安装 lotus

  • 1,依赖安装
    • 1.1 go环境配置
  • 2,终端代理
  • 3,克隆源码(当前版本Devnet 6)
  • 4,运行lotus
  • 5,lotus存储交易
  • 6,重新安装
  • 7,Devnet 6 升级 Devnet 7

1,依赖安装

apt install mesa-opencl-icd ocl-icd-opencl-dev -y
add-apt-repository ppa:longsleep/golang-backports
apt install golang-go gcc git bzr jq pkg-config mesa-opencl-icd ocl-icd-opencl-dev -y
  • 安装go,需要使用1.13.3版本
apt install golang -y
  • 卸载重新安装
# go version
go version go1.10.4 linux/amd64
# apt remove -y golang
# wget https://dl.google.com/go/go1.13.3.linux-amd64.tar.gz
# tar -zxvf go1.13.3.linux-amd64.tar.gz
# mv go /usr/local/
# rm -rf /usr/bin/go
# rm -rf /usr/bin/gofmt
# ln -s /usr/local/go/bin/* /usr/bin/
# go version
go version go1.13.3 linux/amd64
  • 安装gcc
apt install -y gcc
  • 安装git
apt install -y git
  • 安装bzr
apt install -y bzr
  • 安装jq
apt install -y jq
  • 安装pkg-config
apt install -y pkg-config
  • 安装curl
apt install -y curl

1.1 go环境配置

  • go环境变量配置
# mkdir ~/go
# cd ~/go/
# mkdir bin src pkg
# vim .profile
export GOROOT=/usr/local/go/
export GOPATH=/root/mygo
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin
# source .profile

2,终端代理

  • 终端代理
apt install s~s-libev -y
  • 设置账号密码
# cat /etc/s~s-libev/config.json
{"server":"服务器ip","server_port":端口,"local_port":1080,"password":"密码","timeout":60,"method":"chacha20-ietf-poly1305"
}
  • 运行服务
# systemctl enable s~ks-libev-local@config
# systemctl start s~s-libev-local@config
# systemctl status  s~s-libev-local@config
  • 终端代理
export ALL_PROXY=socks5://127.0.0.1:1080

3,克隆源码(当前版本Devnet 6)

  • 下载源码
git clone https://github.com/filecoin-project/lotus.git
  • 设置GOPROXY
# cd lotus/
# export GO111MODULE=on
# export GOPROXY=https://goproxy.io
# make clean all
# make install
install -C ./lotus /usr/local/bin/lotus
install -C ./lotus-storage-miner /usr/local/bin/lotus-storage-miner

4,运行lotus

  • 运行守护进程
lotus daemon
lotus daemon >> /var/log/lotus.log 2>&1 &
  • 日志报错
Get https://ipfs.io/ipfs/QmRssVAXRN3xp9VdSpTq1pNjkob3QiikoFZiM5hqrmh1VU: dial tcp 199.59.150.49:443: i/o timeout
  • 修改 const gateway = "https://ipfs.io/ipfs/"

Public IPFS Gateways

# vim /root/lotus/build/paramfetch.go
//const gateway = "https://ipfs.io/ipfs/"
const gateway = "https://ipfs.globalupload.io/"
  • 重新编译安装
# cd /root/lotus/
# systemctl status  shadowsocks-libev-local@config
# export ALL_PROXY=socks5://127.0.0.1:1080
# export GO111MODULE=on
# export GOPROXY=https://goproxy.io
# make clean all && make install
install -C ./lotus /usr/local/bin/lotus
install -C ./lotus-storage-miner /usr/local/bin/lotus-storage-miner
  • 运行守护进程
# lotus daemon >> /var/log/lotus.log 2>&1 &
  • 如果报错bad handshake,再打开一个终端运行守护进程
# lotus net peers
websocket: bad handshake
  • 连接节点数量
# lotus net peers | wc -l
86
  • 块同步高度
# lotus sync status
Height: 16088
  • 实时看到同步区块高度
# lotus sync wait
  • 区块高度同步完成退出
# lotus sync wait
Target: [bafy2bzacedm7m4gfctogyii7fzhn4a3n66x5v5kvee33z26pve63qup7bhuts]    State: complete Height: 2594
Done

~watch -n 1 lotus sync status Stage: complete 块高度同步完成~

Stage: complete
  • 创建钱包地址
# lotus wallet list
# lotus wallet new bls
t3
  • 水龙头获取测试币
# lotus wallet balance
0.0000000005
  • 抵押币
# lotus state pledge-collateral
17.932813648858594875
  • 直接填写钱包地址创建矿工,选择256MB
  • 创建矿工


  • 初始化
lotus-storage-miner init --actor=t0392 --owner=t3vqiuqoyabieb5pcx74sc57pk4njnsleezmf4w26nfzi4vlynz3ecwnopgjwmwkdguvb2med6h5womtkmteqq


~- web返回信息``~

New storage miners address is: t0
Run lotus-storage-miner init --actor=t0 -owner=t3
  • 区块同步完成以后才能初始化,不然会报错``actor not found
    ~- 复制Run后面命令,在终端运行~
# lotus-storage-miner init --actor=t0 -owner=t3
INFO    main    lotus-storage-miner/init.go:113 Storage miner successfully created, you can now start it with 'lotus-storage-miner run'

~- 报错``actor not found`,区块高度同步完成后初始化~

ERROR: failed to initialize lotus-storage-miner: failed to configure storage miner: failed to get worker address: call raw get actor: actor not found
# rm -rf .lotusstorage/
# lotus-storage-miner init --actor=t02 --owner=t3q
  • 初始化过程会下载复制证明参数
build    build/paramfetch.go:79  checksum mismatch in param file /var/tmp/filecoin-proof-parameters/v14-proof-of-spacetime-rational-b99f15d0bdaaf4ffb68b2ca72b69ea8d915f66a2a56f667430ad69d87aa5febd.params, 88ae592f8051bc4db4c9947862880427 != ff77a5e270afc6e1c7fbc19e48348fac18.36 MiB / 2.43 GiB [>-------------------------------------------------------------]   0.74% 192.42 KiB/s 3h38m42s 31.24 MiB / 2.43 GiB [>-------------------------------------------------------------]   1.26% 202.79 KiB/s 3h26m09s 85.77 MiB / 2.43 GiB [==>-----------------------------------------------------------]   3.45% 403.19 KiB/s 1h41m23s 165.93 MiB / 2.43 GiB [====>--------------------------------------------------------]   6.68% 611.90 KiB/s 1h04m37s 266.78 MiB / 2.43 GiB [======>--------------------------------------------------------]  10.74% 808.84 KiB/s 46m46s 391.20 MiB / 2.43 GiB [=========>----------------------------------------------------]  15.75% 1007.00 KiB/s 35m26s 546.74 MiB / 2.43 GiB [==============>--------------------------------------------------]  22.01% 1.19 MiB/s 27m01s
  • 初始化存储库
# lotus-storage-miner init --actor=t0584 --owner=t3vqiuqoyabieb5pcx74sc57pk4njnsleezmf4w26nfzi4vlynz3ecwnopgjwmwkdguvb2med6h5womtkmteqq
2019-11-18T10:11:03.865+0800   INFO    main    lotus-storage-miner/init.go:59  Initializing lotus storage miner
2019-11-18T10:11:03.866+0800   INFO    main    lotus-storage-miner/init.go:61  Checking proof parameters
2019-11-18T10:11:03.871+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-stacked-proof-of-replication-d01cd22091627b721c60a3375b5219af653fb9f6928c70aa7400587d396bc07a.vk is ok
2019-11-18T10:11:03.871+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-proof-of-spacetime-rational-535d1050e3adca2a0dfe6c3c0c4fa12097c9a7835fb969042f82a507b13310e0.vk is ok
2019-11-18T10:11:03.871+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-stacked-proof-of-replication-967b11bb59be11b7dc6f2b627520ba450a3aa50846dbbf886cb8b735fe25c4e7.vk is ok
2019-11-18T10:11:03.871+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-stacked-proof-of-replication-0c0b444c6f31d11c8e98003cc99a3b938db26b77a296d4253cda8945c234266d.vk is ok
2019-11-18T10:11:03.871+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-proof-of-spacetime-rational-c2ae2b440e693ee69fd6da9e85c4294c5c70c1a46d5785ca5f2a676d6cd4c8de.vk is ok
2019-11-18T10:11:03.872+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-proof-of-spacetime-rational-b99f15d0bdaaf4ffb68b2ca72b69ea8d915f66a2a56f667430ad69d87aa5febd.vk is ok
2019-11-18T10:11:05.392+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-proof-of-spacetime-rational-535d1050e3adca2a0dfe6c3c0c4fa12097c9a7835fb969042f82a507b13310e0.params is ok
2019-11-18T10:11:05.542+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-proof-of-spacetime-rational-c2ae2b440e693ee69fd6da9e85c4294c5c70c1a46d5785ca5f2a676d6cd4c8de.params is ok
2019-11-18T10:11:06.062+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-proof-of-spacetime-rational-b99f15d0bdaaf4ffb68b2ca72b69ea8d915f66a2a56f667430ad69d87aa5febd.params is ok
2019-11-18T10:11:52.786+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-stacked-proof-of-replication-0c0b444c6f31d11c8e98003cc99a3b938db26b77a296d4253cda8945c234266d.params is ok
2019-11-18T10:12:03.891+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-stacked-proof-of-replication-967b11bb59be11b7dc6f2b627520ba450a3aa50846dbbf886cb8b735fe25c4e7.params is ok
2019-11-18T10:12:04.702+0800   INFO    build   build/paramfetch.go:114 Parameter file /var/tmp/filecoin-proof-parameters/v15-stacked-proof-of-replication-d01cd22091627b721c60a3375b5219af653fb9f6928c70aa7400587d396bc07a.params is ok
2019-11-18T10:12:04.702+0800   INFO    main    lotus-storage-miner/init.go:66  Checking if repo exists
2019-11-18T10:12:04.702+0800   INFO    main    lotus-storage-miner/init.go:82  Trying to connect to full node RPC
2019-11-18T10:12:04.711+0800   INFO    main    lotus-storage-miner/init.go:91  Checking full node version
2019-11-18T10:12:04.714+0800   INFO    main    lotus-storage-miner/init.go:102 Initializing repo
2019-11-18T10:12:04.714+0800   INFO    repo    repo/fsrepo.go:98   Initializing repo at '/root/.lotusstorage'
2019-11-18T10:12:04.715+0800   INFO    main    lotus-storage-miner/init.go:131 Initializing libp2p identity
2019-11-18T10:12:04.746+0800   INFO    main    lotus-storage-miner/init.go:258 Waiting for message: bafy2bzacea4gnyhzrenb37m7wwcsmqkqzu7odoyq6rapcluyckke3syadxgqq
+2019-11-18T10:12:27.475+0800 INFO    main    lotus-storage-miner/init.go:164 Created new storage miner: t0584
2019-11-18T10:12:27.486+0800   INFO    badger  badger@v1.6.0-rc1/logger.go:46 All 0 tables opened in 0s2019-11-18T10:12:27.498+0800  INFO    main    lotus-storage-miner/init.go:118 Storage miner successfully created, you can now start it with 'lotus-storage-miner run'
  • 运行矿工
# lotus-storage-miner run
lotus-storage-miner run >> /var/log/miner.log 2>&1 &
  • 查看交易信息
# lotus-storage-miner info
Miner: t0
Power: 536870912 / 1529109025672 (0.00%)
Sealed Sectors:  3
Sealing Sectors:     0
Pending Sectors:     0
Failed Sectors:  0
  • 生成PoSts
# lotus-storage-miner store-garbage
2
# lotus-storage-miner state power
1530199544712
# lotus-storage-miner info
Miner: t03..
Power: 536870912 / 1530216321928 (0.00%)
Sealed Sectors:  3
Sealing Sectors:     2
Pending Sectors:     0
Failed Sectors:  0
# lotus-storage-miner state power t03..
536870912
# lotus-storage-miner state sectors t03..
1: dcf3407b9d80f50316751f1cd183d736d76c667b2a00ea75af58f9f7cdb0c464 197085d07c2b6f5872965c14ae98c5a24024a0a5117e0724063ed5c43d497f6a
2: 85990f7fb1d543b3d29a7b63f9f047debaf07236ea79fa787ba9aed18fcbcc2f 197085d07c2b6f5872965c14ae98c5a24024a0a5117e0724063ed5c43d497f6a
3: cc6edb05b3d8a0afd7732fb7331fdf868ccee8881b71d46b0f5e5e466618930b ae123b66a933bdc63e571a668cee757a877f4dd3f15048052cbbe538c456a14b

5,lotus存储交易

  • hello.txt 要和 .lotus在同一个目录,默认是root目录
# echo "hi my name is lotus03" > hello.txt
# cat hello.txt
hi my name is lotus03
# lotus client import hello.txt
bafk# lotus client local
bafkrei
# echo "Hi my name is c" > hello.txt
# mv /work/hello.txt /root/
# lotus client import hello.txt
bafkre
# lotus client local
bafkre
# lotus state list-miners | wc -l
119
# lotus state list-miners | grep t03..
t03..
# lotus client query-ask t03..
Ask: t03..
Price per Byte: 0.0000000005
# lotus client import /root/hello.txt
baf...
# lotus-storage-miner info
Miner: t03..
# lotus wallet balance
73.196131249635697369
# lotus client deal baf... t03.. 0.001 12
bafyreievod3o3ksnipg6mchmmbq4iejbrsj56du4igi6nbuizuchvobwsy
  • deal 存储数据
# lotus client deal bafkreihlg4tsyuqoxpsg4pnq5qqfs3krbe7pbwkwudmjv4od3xaifus57q t0594 0.0000000005 12
bafyreif2fk53aselwv5n27es6yxlmnnddo3dfbmzp6p7cg5cnl2su5ydau

6,重新安装

  • 删除数据
# rm -rf /root/.lotus /root/.lotusstorage/
  • 编译安装
make &&  make install

7,Devnet 6 升级 Devnet 7

  • 依赖安装
apt install mesa-opencl-icd ocl-icd-opencl-dev -y
add-apt-repository ppa:longsleep/golang-backports
apt install golang-go gcc git bzr jq pkg-config mesa-opencl-icd ocl-icd-opencl-dev -y
# git log
commit 981f10856516127f6f29037cc901cf4c401e2ace (HEAD -> master, origin/master, origin/HEAD)
Merge: d080dbd bc97a73
Author: Łukasz Magiera <magik6k@users.noreply.github.com>
Date:   Wed Oct 30 08:29:56 2019 +0100
  • 设置终端代理
# systemctl status ss-libev-local@config.service
# export ALL_PROXY=socks5://127.0.0.1:1080
  • 更新源码
# git pull
新 981f108..aafccaf
error: 您对下列文件的本地修改将被合并操作覆盖:build/paramfetch.go
请在合并前提交或贮藏您的修改。
终止中
  • 更新源码
# git log
# git fetch --all
正在获取 origin
# git reset --hard origin/master
HEAD 现在位于 aafccaf Merge pull request #488 from filecoin-project/feat/dt-skeleton
  • 配置终端代理
# make clean all
  • make clean all
# make clean all
rm -rf  build/.bls-install build/.sector-builder-install build/.update-modules lotus lotus-storage-miner
make -C extern/go-bls-sigs/ clean
make[1]: 进入目录“/root/lotus/extern/go-bls-sigs”
rm -rf libbls_signatures.h libbls_signatures.pc libbls_signatures.a .install-bls
make[1]: 离开目录“/root/lotus/extern/go-bls-sigs”
make -C extern/go-sectorbuilder/ clean
make[1]: 进入目录“/root/lotus/extern/go-sectorbuilder”
rm -rf sector_builder_ffi.h sector_builder_ffi.pc libsector_builder_ffi.a .install-rust-fil-sector-builder
make[1]: 离开目录“/root/lotus/extern/go-sectorbuilder”
git submodule update --init --recursive
touch build/.update-modules
make -C extern/go-bls-sigs/ libbls_signatures.a libbls_signatures.pc libbls_signatures.h
make[1]: 进入目录“/root/lotus/extern/go-bls-sigs”
./install-bls-signatures
acquiring release @ bb2cae2bde5aa285% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  5725  100  5725    0     0   4843      0  0:00:01  0:00:01 --:--:--  4847% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     00     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100 2627k  100 2627k    0     0  43205      0  0:01:02  0:01:02 --:--:-- 34984
make[1]: “libbls_signatures.pc”已是最新。
make[1]: “libbls_signatures.h”已是最新。
make[1]: 离开目录“/root/lotus/extern/go-bls-sigs”
make -C extern/go-sectorbuilder/ libsector_builder_ffi.a sector_builder_ffi.pc sector_builder_ffi.h
make[1]: 进入目录“/root/lotus/extern/go-sectorbuilder”
./install-rust-fil-sector-builder
acquiring release @ 599e522acbe12656% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  5853  100  5853    0     0   7571      0 --:--:-- --:--:-- --:--:--  7571% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     00     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100 17.3M  100 17.3M    0     0   161k      0  0:01:50  0:01:50 --:--:--  321k+
make[1]: “sector_builder_ffi.pc”已是最新。
make[1]: “sector_builder_ffi.h”已是最新。
make[1]: 离开目录“/root/lotus/extern/go-sectorbuilder”
rm -f lotus
go build -o lotus ./cmd/lotus
+go run github.com/GeertJohan/go.rice/rice append --exec lotus -i ./build
rm -f lotus-storage-miner
go build -o lotus-storage-miner ./cmd/lotus-storage-miner
go run github.com/GeertJohan/go.rice/rice append --exec lotus-storage-miner -i ./build
  • # make clean all报错
go: github.com/Gurpartap/async@v0.0.0-20180927173644-4f7f499dd9ee: Get https://proxy.golang.org/github.com/%21gurpartap/async/@v/v0.0.0-20180927173644-4f7f499dd9ee.mod: dial tcp 172.217.24.17:443: i/o timeout
  • 设置proxy
# export GO111MODULE=on
# export GOPROXY=https://goproxy.io
  • go版本必须为go1.13.3
compile: version "go1.13.3" does not match go tool version "go1.13.4"
  • make install
# make install
install -C ./lotus /usr/local/bin/lotus
install -C ./lotus-storage-miner /usr/local/bin/lotus-storage-miner
  • 修改const gateway = "https://ipfs.io/ipfs/"
# vim /root/lotus/build/paramfetch.go
//const gateway = "https://ipfs.io/ipfs/"
const gateway = "https://ipfs.globalupload.io/"
# make clean all
# make install
# lotus version
0.7.0+api0.7.1793 <nil>
lotus version 0.7.0

参考:

  1. filecoin-project/lotus
  2. Git强制覆盖更新、commit 强行终止后如何操作
  3. Filecoin 系列08-开始 Lotus 挖矿

lotus ubuntu 18.04 安装(当前版本Devnet 7)相关推荐

  1. Ubuntu 18.04 安装 redis入门使用

    Ubuntu 18.04 安装 redis入门使用 1.安装 sudo apt-get install redis-server 2.查看redis运行状态 ps -ef | grep redis 3 ...

  2. Ubuntu 18.04安装CUDA(版本10.2)和cuDNN

    1.系统要求 2.安装前的要求 3.runfile安装(不支持跨平台) 4.后续安装操作 5.安装cuDNN 6.汇总问题 本文基于Ubuntu 18.04.3 LTS 64位安装CUDA 10.2和 ...

  3. Ubuntu 18.04 安装OpenCV C++

    Ubuntu 18.04 安装OpenCV C++ 构建并安装 仅构建核心模块 # 更新并安装依赖 sudo apt update && sudo apt install -y cma ...

  4. Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡

    Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡 在安装显卡之前请先把ubuntu 18.04系统提前安装好. 需要准备的资料: NVIDIA 驱动 下载驱动 驱动的下载地址 ...

  5. linux 模拟运行 微信,Ubuntu 18.04 安装微信(Linux通用)

    Ubuntu 18.04 安装微信(Linux通用) 发布时间:2018-06-02 10:52, 浏览次数:1468 , 标签: Ubuntu Linux Linux相关的知识:https://ww ...

  6. ubuntu 18.04 安装 中文 拼音 输入法

    ubuntu 18.04 安装 中文输入法 拼音 在安装ubuntu时,如果选择英文安装默认会不启用中文输入法的.可以通过下述方法开启: 1,安装 pingyin 输入法 打开终端输入命令: sudo ...

  7. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    这篇已经Out了,以[笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程为准. Docker的好处之一,就是在Container里面可以随意瞎 ...

  8. 完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题

    完美解决 Ubuntu 18.04 安装网易云音乐 不能正常点击启动问题 经过我的学习终于学会了,下面附上连接 完美解决

  9. Ubuntu 18.04 安装Qt 5.12.0

    Ubuntu 18.04 安装Qt 5.12.0 1.安装包下载 2.安装QT 3.配置系统路径 4.配置QT creator 6.测试工程 1.安装包下载 官方下载地址 也可以下载到其他版本:htt ...

最新文章

  1. 快速给shell脚本加上使用提示
  2. Seam开发环境中的中文乱码问题
  3. 异常“企图释放并非呼叫方所拥有的多用户终端运行程序”的处理
  4. 自定义sql_SQL自定义排序,想怎么排就怎么排
  5. 克隆 Linux系统盘,linux系统克隆系统盘
  6. 【最详细】数据结构(C语言版 第2版)第三章课后习题答案 严蔚敏 等 编著
  7. 第一百一十三期:去伪存真,区块链应用到底能解决什么实际问题?
  8. 尽量少一点甲方思维,也尽量少一点弱势方思维
  9. 2019 开源安全报告:开发者安全技能短板明显,热门项目成漏洞重灾区!
  10. 21秋期末考试电子商务概论10250k2
  11. 地图比例尺、瓦片切片方案、EPSG
  12. 软考高级 真题 2011年下半年 信息系统项目管理师 综合知识
  13. 全球与中国汽车牛皮革市场“十四五”前景规划及运营趋势研究报告2022-2028年
  14. Android.AsyncTask
  15. 考研线性代数手写笔记3 向量
  16. Python内置函数——getattr
  17. 永恒之黑(CVE-2020-0796)
  18. 相似图片搜索原理二(phash—c++实现)
  19. [js] 得到本月、上月、下月的起始、结束日期; 得到今年、去年、明年的开始、结束日期 day.js
  20. 马宁伟-20年工作经验谈-3-十年磨一剑

热门文章

  1. ubuntu安装mysql客户端
  2. 一些玩游戏所起的名子
  3. 恣意玩耍荒唐青睐新天龙1整年燃情起始
  4. ACE高性能网络编程——学习大纲
  5. vue el-table 合并单元格行的方法
  6. Arduino IDE环境下WeMoS D1mini引脚定义和映射
  7. stalled时间过长引起的一次线上事故
  8. vue 单页面 http stalled 的情况
  9. [随笔]_三年大学,两次地震,一次甲流
  10. 《2017中国大数据发展前景报告》-奥威大数据分析平台