LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 开源区块链钱包CASHBOX技术编译教程(一)

开源区块链钱包CASHBOX技术编译教程(一)

2020-08-03 SCRYINFO 来源:火星财经
开源区块链钱包CASHBOX技术编译教程

1. 全局代理,必要条件

2. 环境准备(window)

Androidstudio 链接:http://www.android-studio.org/

Flutter链接:https://flutterchina.club/get-started/install/

Rust链接https://www.rust-lang.org/zh-CN/tools/install

Java链接https://www.java.com/ES/download/

Ndkhttps://developer.android.com/ndk/downloads。

Msvc以及相应的英文语言包.请使用Microsoft C++ Build Tools

(https://visualstudio.microsoft.com/zh-hant/visual-cpp-build-tools/)进行下载。打开勾选如下选项

Vcpkg.链接:https://github.com/microsoft/vcpkg

3. 环境变量ANDROID_NDK 值为ndk所在目录。

path环境变量中配置flutter,cargo,vcpkg,java。


4. 取下cashbox代码库。

https://github.com/scryinfo/cashbox


5. 以上条件准备完成后开始编译过程编译动态库部分。可以参考

https://github.com/scryinfo/cashbox/blob/master/bc/device_app_lib/readme.md

Windows具体步骤如下:

rustuptarget add aarch64-linux-android armv7-linux-androideabi

rustuptoolchain install x86_64-pc-windows-msvc

rustupdefault msvc

注:如果此时找不到msvc,请使用rustup toolchain list查看全名,替换到命令中重新执行

vcpkgintegrate install

vcpkginstall sqlite3:x64-windows-static

vcpkginstall sqlite3:x64-windows

Cd 到cashbox\bc\device_app_lib\script目录下运行

build_aarch64-linux-android.bat文件进行动态库的编译。

(1)若在此过程中出现linker:“cc”not find问题。请前往cargo所在目录下新建文件config,无后缀。

Config文件中的内容如下:

[target.aarch64-linux-android]

linker="C:\\Users\\jayce\\Downloads\\android-ndk-r21b\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\aarch64-linux-android28-clang.cmd"

ar="C:\\Users\\jayce\\Downloads\\android-ndk-r21b\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\aarch64-linux-android-ar.exe"

目录根据你的ndk所在目录进行相应调整。保存再次运行bat文件完成编译。

若在编译过程出现ed25519_dalek相关库的问题,请修改bc\下的cargo.lock文件。找到ed25519_dalek的依赖修改如下内容。

version= "1.0.0-pre.4"

source= "registry+https://github.com/rust-lang/crates.io-index"

checksum= "21a8a37f4e8b35af971e6db5e3897e7a6344caa3f92f6544f88125a1f5f0035a"

dependencies= [

"curve25519-dalek 2.1.0",

"ed25519",

"rand 0.7.3",

"serde",

"sha2 0.8.2",

"zeroize 1.1.0",

]

因7月17日版本改动,且1.0.0-pre.3与1.0.0-pre.4不兼容导致,将上述内容修改如下。

version= "1.0.0-pre.3"

source= "registry+https://github.com/rust-lang/crates.io-index"

checksum= "978710b352437433c97b2bff193f2fb1dfd58a093f863dd95e225a19baa599a2"

dependencies= [

"clear_on_drop",

"curve25519-dalek 2.1.0",

"rand 0.7.3",

"sha2 0.8.2",

]

修改上述bat文件。

编译apk,具体步骤如下

修改cashbox\app\lib\global_config\vendor_config.dart中的key和value.替换为你自己服务器的接口地址。各个接口详情介绍参见(未完成)。

由于apk签名问题,请修改cashbox\app\android\app\build.gradle的部分内容如下

修改后可生成未签名apk,若要重新签名请参见

https://github.com/scryinfo/cashbox/blob/master/app/README.md

运行flutter build apk即可,生成的apk目录如下:

cashbox\app\build\app\outputs\apk\release\app-release-unsigned.apk

点此回看 Cashbox 系列

开源区块链钱包Cashbox技术实现(一)

开源区块链钱包Cashbox技术实现(二)


GitHub开源链接

区块链数据协议层:https://github.com/scryinfo/dp组件Dot:https://github.com/scryinfo/dot基础库:https://github.com/scryinfo/scrygCashbox:https://github.com/scryinfo/cashboxcity_client:https://github.com/scryinfo/city_client
city_server:https://github.com/scryinfo/city_server

下载 Cashbox:

https://cashbox.scry.info/cashbox/api/apk/downloadlatest

本文来源:SCRYINFO
原文标题:开源区块链钱包CASHBOX技术编译教程(一)

—-

编译者/作者:SCRYINFO

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

知识 App 开源
LOADING...
LOADING...