Polkawallet App
下载
Polkawallet 采用 Flutter 构建,https://polkawallet.io
简介
Polkawallet 提供跨链资产的一站式管理、便捷的质押和治理操作,并支持私钥自持。
Polkawallet 旨在为所有 Polkadot/Kusama/Substrate 系列区块链的用户提供更便捷的 Polkadot 网络入口。
- 友好的用户界面。
- 安全的本地账户存储。
- 直观的代币管理。
- 简化的质押与治理操作。
- 支持离线签名。
- 同时支持 iOS 和 Android。
- 支持任何 Substrate 系列区块链作为插件集成。
待办事项
- 添加代理账户操作。
- 支持 walletConnect 协议。
入门
依赖项
- Flutter 1.22.x 稳定版
- Dart 2.10.x
开始使用
- 通过 git clone https://github.com/polkawallet-io/app.git
<可选的本地路径>将仓库克隆到本地。 - 通过运行
flutter pub get安装依赖项。 - 在 Android Studio 中,在 Android 设备上运行
lib/main.dart并带上参数--flavor=prod,或者在 iOS 上直接运行lib/main.dart,无需参数。
贡献
此应用是使用多个仓库构建的,其他 Substrate 系列区块链的开发者可以创建自己的插件并将其放入 polkawallet 应用中。
__ polkawallet-io/app
|
|__ polkawallet-io/ui
| |__ polkawallet-io/sdk
|
|__ polkawallet_plugin_kusama
| |__ polkawallet-io/sdk
| |__ polkawallet-io/ui
|
|__ polkawallet_plugin_acala
| |__ polkawallet-io/sdk
| |__ polkawallet-io/ui
|
|__ polkawallet_plugin_laminar
| |__ polkawallet-io/sdk
| |__ polkawallet-io/ui
|
|__ <plugin of another substrate based chain>
|__ <...>
1. polkawallet-io/js_api
这是 polkadot-js/api 的封装,将被构建成一个单一的 main.js 文件,在应用内的隐藏 WebView 中运行。因此,该应用将使用 polkadot-js 连接到 Substrate 节点。
我们还将其中的 polkadot-js/keyring 进行了封装,以便应用可以管理 keyPairs。
2. polkawallet-io/sdk
这是 polkawallet-io/js_api 的封装 Dart 包,它包含:
- Keyring。管理 keyPairs。
- PolkawalletSDK。连接到远程节点并调用
polkadot-js/api方法。 - PolkawalletPlugin。一个基础插件类,定义了将在应用中使用的 API 数据和生命周期方法。
Polkawallet 插件可以从 Keyring 实例中获取应用内的用户 keyPairs。
Polkawallet 插件实现应继承 PolkawalletPlugin 类并定义其自己的 API 数据和生命周期方法。
3. polkawallet-io/ui
polkawallet-io/app 中常用的 Flutter 小部件,例如:
- AddressInputForm
- TxConfirmPage
- ScanPage
- …
4. polkawallet-io/polkawallet_plugin_xxx
示例
- polkawallet-io/polkawallet_plugin_kusama
- polkawallet-io/polkawallet_plugin_acala
- polkawallet-io/polkawallet_plugin_laminar
5. 应用状态管理
我们使用 https://pub.dev/packages/mobx。因此,插件中的目录结构如下:
__ lib
|__ pages (the UI)
|__ store (the MobX store)
|__ service (the Actions fired by UI to mutate the store)
|__ ...
6. 提交您的插件
当您的插件完成并经过测试后,您可以为此仓库提交一个 issue。我们将审查您的插件并将其添加到应用中。
7. 插件更新
提交更新请求 issue 以更新您的插件。有两种不同类型的更新:
- 更新 Dart 包。我们将重新构建应用并发布新版本。
- 更新插件的 JS 代码(Dart 代码不受影响)。我们将重建 JS bundle 文件,应用将通过 polkawallet-api 进行热更新。
翻译
Polkawallet App 在 crowdin.com 上有几个翻译项目。
项目中的语言文件以 类 JSON 样式编写。
final enAccount = {
'key': 'value',
'key.another': 'Another value for translation.',
'key.multiline': 'Multiline text are \n split with symbol \n.',
};
/// This 3 strings above will display in the App like:
// value
// Another value for translation.
// Multiline text are
// split with symbol
// .
您需要保持左侧的 'key' 字段不变,只翻译右侧的 'value' 字段。请注意,\n 符号会将长字符串分成多行。
发布检查表
- sdk 版本代码已更新。
- sdk jsCodeVersion 代码已更新。
polkawallet-io/ui的 sdk 版本代码已更新。- 插件的 sdk 和 ui 依赖项已更新。
- 插件版本已更新。
pubspec.yaml中的版本代码已更新。lib/common/consts.dart中的版本代码已更新。- Xcode 中 iOS 的版本代码已更新。

