dart_randomx
RandomX 证明工作 (PoW) 算法的 Dart 封装。
用法
一个简单的使用示例
import 'dart:typed_data';
import 'package:dart_randomx/dart_randomx.dart';
Future<void> main() async {
await RandomX.loadLib();
var randomX = RandomX();
print(randomX);
var key = Uint8List.fromList([97, 98, 99, 100, 101, 102, 0]);
randomX.init(key);
var data = Uint8List.fromList([65, 66, 67, 68, 69, 0]);
var hash = randomX.hash(data);
print(hash);
randomX.destroy();
}
RandomX 全内存
RandomX 算法有 2 种模式
slow:使用较少的内存但速度较慢。fast:速度更快(约 10 倍),但需要 2G+ 内存。
要激活快速模式,只需初始化时传入 fullMemory 为 true
Future<void> main() async {
await RandomX.loadLib();
var randomX = RandomX();
randomX.init(key, fullMemory: true);
}
项目构建
请参阅脚本 build-ffi-lib.sh 来构建库
randomx:RandomXPoW算法。wrapper_randomx:librandomx的 dart:ffi 封装。
目录 wrapper_randomx_library 包含
dart:ffi 封装的源代码和构建脚本
-
build-librandomx.sh:将克隆
RandomX项目,构建它,并将库文件
librandomx.a放置在wrapper_randomx_library/中,然后构建封装。 -
build-wrapper.sh:构建封装,并链接
librandomx.a。
注意:此过程已在 MaxOS 和 Ubuntu 上进行测试。
RandomX 项目
RandomX 证明工作 (PoW) 算法可以在
注意:脚本 build-librandomx.sh 会自动克隆并构建它。
RandomX 配置
RandomX 项目为每种币推荐不同的配置,
由文件 RandomX/src/configuration.h 定义。请参阅配置文档
此项目的默认配置与 Monero 相同
wrapper_randomx_library/configuration-monero.h
注意: RandomX 最初是为 Monero 开发的。*
作者
Graciliano M. Passos: gmpassos@GitHub。
许可证
BSD-3-Clause 许可证