受到@zhangch30063843厂长 老哥的启发,写了一个编译原生Atomicals索引程序的教程。
出发点:由于Docker在win系统的性能太差,速度太慢,并且跑通后也会莫名其妙断连。
因此想在Windows系统部署原生索引/私有节点。
本教程假设本地电脑已经安装了NodeJS及Python程序。
安装Microsoft Visual C++
安装Microsoft Visual Studio
方法一:在vcpkg的GitHub官方页面,下载压缩包,并解压缩至本地硬盘。
方法二:在想要放置vcpkg的硬盘路径内,打开cmd,使用git克隆命令:
git clone https://github.com/microsoft/vcpkg.git
来克隆代码源文件到本地硬盘。
文件下载/克隆好后,切换至vcpkg目录内并打开cmd:
进行vcpkg安装-→在cmd中运行:
.\bootstrap-vcpkg.bat
进行leveldb安装-→在cmd中运行:
.\vcpkg install leveldb --triplet x64-windows
安装完成后,头文件&库文件的路径分别为:
.\vcpkg\installed\x64-windows\include
.\vcpkg\installed\x64-windows\lib
把[.]替换为实际的路径即可。
比如我的安装在 E:\Crypto\Atomicals\vcpkg
那么文件路径就是:
E:\Crypto\Atomicals\vcpkg\installed\x64-windows\include
E:\Crypto\Atomicals\vcpkg\installed\x64-windows\lib
方法一:在atomicals-electrumx的GitHub官方页面,下载压缩包,并解压缩至本地硬盘。
方法二:在想要放置atomicals-electrumx的硬盘路径内,打开cmd,使用git克隆命令:
git clone https://github.com/atomicals/atomicals-electrumx.git
安装后切换至atomicals-electrumx的文件夹内,并打开cmd,运行:
pip install --user --global-option=build_ext --global-option="-IE:\Crypto\Atomicals\vcpkg\installed\x64-windows\include" --global-option="-LE:\Crypto\Atomicals\vcpkg\installed\x64-windows\lib" --global-option="-lleveldb" -r requirements.txt
把E:\Crypto\Atomicals\vcpkg\installed\x64-windows\include 及 E:\Crypto\Atomicals\vcpkg\installed\x64-windows\lib 替换为你实际电脑安装的路径。
进行python-dotenv安装-→在cmd中运行:
pip install python-dotenv
修改atomicals-electrumx文件夹内的env配置文件:
修改atomicals-electrumx\electrumx\lib文件夹内的env_base.py文件:
添加两端代码:
from dotenv import load_dotenv
load_dotenv()
配置Bitcoin Core的conf文件:
在atomicals-electrumx文件夹内打开cmd,并运行:
python electrumx_server
由于electrumx服务器本身并不支持http/web服务,只有tcp/ws,因此需要配合官方的proxy代理程序使用。
方法一:在atomicals-electrumx-proxy的GitHub官方页面,下载压缩包,并解压缩至本地硬盘。
方法二:在想要放置atomicals-electrumx-proxy的硬盘路径内,打开cmd,使用git克隆命令:
git clone https://github.com/atomicals/electrumx-proxy.git
安装后切换至electrumx-proxy-main的文件夹内,并打开cmd,运行:
npm install
安装完成后,在cmd运行:
npm run dev
此时,proxy代理即开始运行。
Atomicals-Electrumx主程序的env文件无需修改,按照默认设置即可;
Electrumx-proxy-main代理服务程序的env文件,要把ELECTRUMX_PORT这一项改为本地IP地址;
Atomicals-js-master工具程序的env文件,要把ELECTRUMX_PROXY_BASE_URL这一项改为http://127.0.0.1:8080/proxy
;
配置好env文件后,即可使用Atomicals-js工具进行各种命令的使用,效果如下:
proxy服务端会显示连接请求、建立连接等情况。同时atomicals-js工具完成指令。