FlutterBIP39词表转换插件bip39_wordlist_converter的使用

FlutterBIP39词表转换插件bip39_wordlist_converter的使用

简介

通过此插件可以将BIP39助记词从一种语言转换为另一种语言。(这并不是真正的翻译,而是基于2048进制的相同整数值的转换)。
该插件允许您在不支持多语言的情况下使用任何BIP39库。

此插件已通过bip39包进行测试,支持英语、法语、意大利语和西班牙语。(添加词表非常简单,只需在GitHub上联系我即可。)

特性

  • 支持有效的助记词,并在构造函数中识别源语言。
  • 可通过一次调用toLanguage()将助记词转换为任何受支持的语言。
  • 提供易于使用的语言列表,可用于您的自动补全UI/UX:
Bip39Converter.frenchList;

开始使用

安装

pubspec.yaml文件中添加依赖项:

dependencies:
  bip39_wordlist_converter: ^版本号

然后运行以下命令以安装依赖项:

dart pub get

导入

在Dart文件中导入插件:

import 'package:bip39_wordlist_converter/bip39_wordlist_converter.dart';

使用示例

以下是一个完整的示例,展示如何使用bip39_wordlist_converter插件将助记词从一种语言转换为另一种语言。

示例代码

void main() {
  // 创建一个BIP39转换器对象,并传入原始助记词(法语文本)
  var converter = Bip39Converter(
    "aliéner mouvant pieuvre louer surprise cendrier hermine aviser plaque écluse nombreux minorer",
  );

  // 将助记词转换为英语
  String englishMnemonic = converter.toEnglish();

  // 输出转换后的英语助记词
  print("English Mnemonic: $englishMnemonic");

  // 如果需要,还可以转换为其他语言,例如西班牙语
  String spanishMnemonic = converter.toSpanish();

  // 输出转换后的西班牙语助记词
  print("Spanish Mnemonic: $spanishMnemonic");
}

运行结果

假设输入的法语文本为:

aliéner mouvant pieuvre louer surprise cendrier hermine aviser plaque écluse nombreux minorer

程序的输出可能类似于:

English Mnemonic: alien mover octopus rent surprise ash hermine advise plate sluice abundant minor
Spanish Mnemonic: alien mover pulpo alquilar sorpresa ceniza hermética asesor placa estanque abundante menor
1 回复

更多关于FlutterBIP39词表转换插件bip39_wordlist_converter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


bip39_wordlist_converter 是一个用于在 Flutter 中处理 BIP39 助记词词表的插件。它允许你在不同的语言词表之间进行转换,或者将助记词从一种语言转换为另一种语言。以下是如何在 Flutter 项目中使用 bip39_wordlist_converter 的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 bip39_wordlist_converter 依赖:

dependencies:
  flutter:
    sdk: flutter
  bip39_wordlist_converter: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 导入包

在你的 Dart 文件中导入 bip39_wordlist_converter 包:

import 'package:bip39_wordlist_converter/bip39_wordlist_converter.dart';

3. 使用插件

bip39_wordlist_converter 提供了多种功能,包括词表转换、助记词生成和验证等。以下是一些常见的使用示例:

3.1 转换助记词到不同语言的词表

你可以将助记词从一种语言转换为另一种语言。例如,将英语助记词转换为中文助记词:

void convertMnemonic() {
  String englishMnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
  
  // 将英语助记词转换为中文助记词
  String chineseMnemonic = Bip39WordlistConverter.convertMnemonic(
    mnemonic: englishMnemonic,
    fromLanguage: Bip39Language.english,
    toLanguage: Bip39Language.chineseSimplified,
  );
  
  print("Chinese Mnemonic: $chineseMnemonic");
}

3.2 生成助记词

你可以生成指定语言的助记词:

void generateMnemonic() {
  // 生成12个单词的英语助记词
  String mnemonic = Bip39WordlistConverter.generateMnemonic(
    language: Bip39Language.english,
    strength: 128,  // 128 bits for 12 words, 256 bits for 24 words
  );
  
  print("Generated Mnemonic: $mnemonic");
}

3.3 验证助记词

你可以验证助记词是否有效:

void validateMnemonic() {
  String mnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";
  
  bool isValid = Bip39WordlistConverter.validateMnemonic(
    mnemonic: mnemonic,
    language: Bip39Language.english,
  );
  
  print("Is Valid: $isValid");
}

4. 支持的词表

bip39_wordlist_converter 支持多种语言的 BIP39 词表,包括但不限于:

  • 英语 (Bip39Language.english)
  • 中文简体 (Bip39Language.chineseSimplified)
  • 中文繁体 (Bip39Language.chineseTraditional)
  • 日语 (Bip39Language.japanese)
  • 韩语 (Bip39Language.korean)
  • 法语 (Bip39Language.french)
  • 意大利语 (Bip39Language.italian)
  • 西班牙语 (Bip39Language.spanish)
  • 葡萄牙语 (Bip39Language.portuguese)
  • 俄语 (Bip39Language.russian)

5. 注意事项

  • 确保助记词的单词数量符合 BIP39 标准(12、15、18、21 或 24 个单词)。
  • 转换助记词时,确保源语言和目标语言的词表都支持 BIP39 标准。

6. 示例代码

以下是一个完整的示例代码,展示了如何使用 bip39_wordlist_converter 进行助记词的生成、转换和验证:

import 'package:bip39_wordlist_converter/bip39_wordlist_converter.dart';

void main() {
  // 生成助记词
  String mnemonic = Bip39WordlistConverter.generateMnemonic(
    language: Bip39Language.english,
    strength: 128,
  );
  print("Generated Mnemonic: $mnemonic");

  // 转换助记词
  String chineseMnemonic = Bip39WordlistConverter.convertMnemonic(
    mnemonic: mnemonic,
    fromLanguage: Bip39Language.english,
    toLanguage: Bip39Language.chineseSimplified,
  );
  print("Chinese Mnemonic: $chineseMnemonic");

  // 验证助记词
  bool isValid = Bip39WordlistConverter.validateMnemonic(
    mnemonic: mnemonic,
    language: Bip39Language.english,
  );
  print("Is Valid: $isValid");
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!