zkBitcoin Miner 从 IwYeo 的 SoliditySHA3Miner 分叉而来
专为希望在 zkSync Era 上挖掘 zkBitcoin 的开发人员和爱好者而设计,zkBitcoin 是一种可开采的 ERC-918 兼容代币。
zkBitcoin Miner 是用以下技术和库构建的:
- .NET 5.0:运行矿工所必需的。从 Microsoft .NET 下载下载。
- VC++ 2019:某些加密功能需要。从 Visual Studio 或 Microsoft 支持下载。
- nVidia CUDA SDK 10.2(64 位):用于 nVidia GPU 支持。确保您的 nVidia 驱动程序是 396 或更高版本。nVidia 驱动程序。
- AMD APP SDK v3.0.130.135 (OpenCL):支持 AMD GPU。从 Google Drive 下载。
- gcc 4.8.5:用于在基于 Linux 的系统上编译。
在开始zkBitcoin挖矿之前,请确保您具备以下条件:
- .NET Core 运行时:对于 Windows,请从 Microsoft .NET 下载下载。对于 Ubuntu,请使用脚本。对于 Ethos,请使用 .
sudo ./install-deps.sh
sudo ./install-deps-ethOS.sh
- Nvidia 或 AMD GPU 驱动程序:确保您安装了分别支持 CUDA 或 OpenCL 的最新驱动程序。
-
打开文件进行编辑。
_zkBitcoinMiner.conf
-
根据需要更新以下配置参数:
minerAddress
:您的挖矿奖励 zkSync Era (Ethereum) 地址(必须包含“0x”前缀)。privateKey
:与挖矿 zkSync Era (Ethereum) 地址关联的私钥。MinZKBTCperMint
和 :设置您想要的每笔铸币交易的最小和最高 zkBitcoin 奖励。(注意,如果省略,这将分别默认为 和 zkBitcoin)MaxZKBTCperMint
250
500
HowManyBlocksAWAYFromAdjustmentToSendMinimumZKBTC
:根据您希望开始发送最小 zkBitcoin 的调整距离多少个区块来调整此值。这可以是介于 0 – 2000 之间的值,具体取决于其他用户提交的数量。(注意,如果省略,这将默认为块)200
web3api
:如果需要,替换为您自己的 web3api;默认为提供的 Alchemy 帐户进行测试。
-
将更改保存到 。
_zkBitcoinMiner.conf
要开始挖矿,请执行以下操作:
- 运行矿工目录中的文件。
_zkBitcoin Miner Start.bat
- 确保您的账户中拥有最少量的 ZK Sync Era 以太坊。
该矿机支持各种命令行选项进行自定义,包括但不限于启用 CPU 挖矿、设置 GPU 强度、指定矿池以及调整交易的 gas 价格。
Usage: _zkBitcoinMiner [OPTIONS]
Options:
- help Display this help text and exit
- allowCPU Allow to use CPU, may slow down system (default: false)
- cpuAffinity Comma separated list of CPU affinity ID to use (default: all odd number logical processors)
- allowIntel Allow to use Intel GPU (OpenCL) (default: false)
- allowAMD Allow to use AMD GPU (OpenCL) (default: true)
- allowCUDA Allow to use Nvidia GPU (CUDA) (default: true)
- intelIntensity GPU (Intel OpenCL) intensity (default: 17, decimals allowed)
- listAmdDevices List of all AMD (OpenCL) devices in this system and exit (device ID: GPU name)
- amdDevice Comma separated list of AMD (OpenCL) devices to use (default: all devices)
- amdIntensity GPU (AMD OpenCL) intensity (default: 24.056, decimals allowed)
- listCudaDevices List of all CUDA devices in this system (device ID: GPU name)
- cudaDevice Comma separated list of CUDA devices to use (default: all devices)
- cudaIntensity GPU (CUDA) intensity (default: auto, decimals allowed)
- minerJsonAPI 'http://IP:port/' for the miner JSON-API (default: http://127.0.0.1:4078 [0 disabled])
- minerCcminerAPI 'IP:port' for the ccminer-style API (default: 127.0.0.1:4068 [0 disabled])
- overrideMaxTarget (Pool only) Use maximum target and skips query from web3
- customDifficulty (Pool only) Set custom difficulity (check with your pool operator)
- maxScanRetry Number of retries to scan for new work (default: 3)
- pauseOnFailedScans Pauses mining after number of connection fails, including secondary and retries (default: 3)
- submitStale Submit stale jobs, may create more rejected shares (default: false)
- abiFile Token abi in a file (default: '0xBTC.abi' in the same folder as this miner)
- web3api User-defined web3 provider URL (default: Infura mainnet provider [dev account, for TESTING PURPOSE only])
- contract Token contract address (default: 0xbtc contract address)
- hashrateUpdateInterval Interval (miliseconds) for GPU hashrate logs (default: 30000)
- networkUpdateInterval Interval (miliseconds) to scan for new work (default: 15000)
- masterMode Enable Master mode that virtually acts as a \"pool\" for slave miners connecting to it (default: false [requires admin/sudo mode])
- masterURL Master instance IP:port, slave mode if 'masterMode' is false (default: none [if 'masterMode' is true, default: http://{localIP}:4080/])
- slaveUpdateInterval (Slave only)Interval (miliseconds) to scan for new work (default: 5000)
- kingAddress Add MiningKing address to nonce, only CPU mining supported (default: none)
- address (Pool only) Miner's ethereum address (default: developer's address)
- privateKey (Solo only) Miner's private key
- MinZKBTCperMint (Solo only) Minimum amount of zkBitcoin to allow the mint to succeed
- MaxZKBTCperMint (Solo only) Maxmium amount of zkBitcoin to allow the mint to succeed
- HowManyBlocksAWAYFromAdjustmentToSendMinimumZKBTC (Solo only) How many blocks way from a readjustment do you want to send MinZKBTCperMint
- NFTApiURL (Solo only) URL to the API for NFT minting
- NFTApiPath (Solo only) Path variable for API to get the NFT contract address or Just the contract address of NFT you want to mint
- NFTApiPathID (Solo only) Path variable for API to get the NFT ID or Just the NFTs ID you want to mint
- ERC20Addresses (Solo only) Sepcifies the ERC20 tokens to mint. Must be in an array with quotes around the contract address
- ETHwithMints (Solo only) Sepcifies wether to call a cheaper function that doesn't transfer ETH to you from the contract (in case its dust). Either false or true
- gasToMine (Solo only) Gas price to mine in GWei (default: 3, decimals allowed; note: will override lower dynamic gas price)
- gasLimit (Solo only) Gas limit to submit proof of work (default: 1704624)
- gasApiURL (Solo only) Get dynamic gas price to mine from this JSON API URL (note: leave empty to disable)
- gasApiPath (Solo only) JSON path expression to retrieve dynamic gas price value from 'gasApiURL'
- gasApiMultiplier (Solo only) Multiplier to dynamic gas price value from 'gasApiURL' => 'gasApiPath' (note: use 0.1 for EthGasStation API)
- gasApiOffset (Solo only) Offset to dynamic gas price value from 'gasApiURL' => 'gasApiPath' (after 'gasApiMultiplier', decimals allowed)
- gasApiMax (Solo only) Maximum gas price to mine in GWei from API (default: 5, decimals allowed)
- pool (Pool only) URL of pool mining server (default: http://bnbtcpool.crnx.org:80)
- secondaryPool (Optional) URL of failover pool mining server
- logFile Enables logging of console output to '{appPath}\\Log\\{yyyy-MM-dd}.log' (default: false)
- devFee Set developer fee in percentage (default: 2.0%, minimum: 2.0%)
- 请参阅“GuideForSoloMining.txt”了解如何开始。
- 配置基于 CLI(类似于 ccminer),但新令牌需要“.abi”文件(您可以手动创建一个并从 etherscan.com -> 合约 -> 代码 ->合约 ABI 复制)。
- 示例CLI启动参数可以在与此矿工一起找到的“.bat”文件中找到,如果您需要帮助,请参考它。
- 确保您挖矿到正确的地址/帐户。这是你的责任。
- 如果您单独挖矿,建议使用您自己的 web3api(例如 Infura / Geth / Parity),默认值仅用于测试目的。
- 默认开发者费用为 2.0%。
- 如果 GPU 的计算负载不是 >= 99%,则可以通过 (amdIntensity/cudaIntensity/intelIntensity) 调整强度。