blockchain_utils
Discover a versatile and powerful cryptographic toolkit, carefully crafted in pure Dart to serve developers, businesses, and blockchain enthusiasts across multiple platforms. This package offers a wide array of essential features, including encoding/decoding for various data formats, support for numerous blockchain addresses, robust cryptographic algorithms, mnemonic management, and more – all without relying on external dependencies. Whether you're securing private keys, interacting with blockchain networks, or ensuring data integrity, this cross-platform solution simplifies your crypto journey. Experience a comprehensive set of tools designed to meet your diverse encoding, cryptography, and blockchain needs on iOS, Android, the web, Linux, and beyond.
Features
Encoding and Decoding:
- 
Base32 Encoding/Decoding: Represent binary data with custom character sets for various encoding needs.
 - 
SS58 Encoding/Decoding: Encode Substrate-based blockchain addresses and public keys in a compact and human-readable format.
 - 
Base58 and Base58 XMR Encoding/Decoding: Efficiently encode binary data, with Base58 XMR tailored for Monero addresses.
 - 
Base58Check Encoding/Decoding: Supports checksum creation and verification in blockchain-related data.
 - 
Bech32 Encoding/Decoding: Including Bech32 for Bitcoin Cash (BCH) and Bech32 SegWit addresses, offering improved error detection and readability for blockchain addresses.
 - 
Hex Encoding/Decoding: Encode binary data as hexadecimal and decode it back.
 - 
Web3 Secret Storage Definition: Securely store and manage private keys using the Web3 Secret Storage format.
 - 
UUIDv4 Generation: Generate random UUIDs (Universally Unique Identifiers) following the UUIDv4 standard.
 
Blockchain Address Encoding/Decoding:
- Zilliqa (ZIL)
 - Tezos (XTZ)
 - Ripple (XRP)
 - Monero (XMR)
 - Substrate address
 - Solana (SOL)
 - P2WPKH
 - P2TR
 - P2SH
 - Bitcoin Cash P2PKH
 - Harmony (ONE)
 - OKEx
 - Neo
 - NEAR
 - Nano
 - Injective
 - ICON
 - Filecoin
 - Ethereum
 - Ergo
 - EOS
 - Elrond
 - AVAX
 - Atom
 - Aptos
 - Algorand
 - Ada Shelley
 - Ada Byron
 
Binary Data:
- CBOR Encoding/Decoding: Compact representation of structured data with cross-language compatibility.
 
Cryptographic Algorithms:
- Cryptographic Algorithms and Operations:
- AES (Advanced Encryption Standard)
 - ChaCha
 - ChaCha20Poly1305
 - CRC32 (Cyclic Redundancy Check)
 - CTR mode (Counter mode)
 - ECB mode (Electronic Codebook mode)
 - GCM (Galois/Counter Mode)
 - HMAC (Hash-based Message Authentication Code)
 - PBKDF2 (Password-Based Key Derivation Function 2)
 - Poly1305
 - scrypt (Password-based Key Derivation Function)
 - XModem CRC
 - Blake2b
 - Keccak
 - MD4 (Message Digest 4)
 - MD5 (Message Digest 5)
 - Rijndael (AES)
 - SHA (Secure Hash Algorithm)
 - SHA224
 - SHA256
 - SHA384
 - SHA512
 
 
These algorithms provide a wide range of cryptographic functions, including encryption, decryption, message authentication, hashing, and more, to enhance security and data integrity in applications.
Protocols:
- Strobe Protocol: A framework for cryptographic protocols, providing simplicity and compatibility for a variety of devices.
 
Zero-Knowledge Proofs:
- Merlin Transcript: A STROBE-based transcript construction for zero-knowledge proofs.
 
Schnorrkel-based Cryptography:
- Schnorrkel-based Cryptographic Operations: Includes Schnorrkel for signing, verification, key management, and more.
 
Blockchain Support:
- 
BIP39 Mnemonic Generation and Management: Generate BIP39-compliant mnemonic phrases and manage cryptographic keys derived from them.
 - 
Substrate Key, Address, and Coin Management: Efficiently manage keys and addresses in Substrate-based blockchains.
 - 
Monero Key, Address, and Coin Management: Handle Monero cryptocurrency with support for key management, address derivation, and Monero mnemonics.
 - 
BIP32 Multi-Curve Key Derivation and Address Management: Derive keys across multiple cryptographic curves with BIP32 compliance.
 - 
SLIP10 Key Derivation and Management: Advanced key derivation capabilities.
 - 
BIP38 Secure Paper Wallets: Encrypt private keys to safeguard cryptocurrency assets.
 - 
BIP44 Key, Address, and Coin Management: Manage keys, derive addresses, and handle various coins in compliance with the BIP44 standard.
 - 
BIP49 Key, Address, and Coin Management: Similar to BIP44, with compliance to the BIP49 standard.
 - 
BIP84 Key, Address, and Coin Management: Manage keys, derive addresses, and handle various coins, complying with the BIP84 standard.
 - 
BIP86 Key, Address, and Coin Management: Manage keys, derive addresses, and handle various coins, complying with the BIP84 standard.
 - 
Electrum Mnemonic V1 and V2 with Key and Address Management: Support for both Electrum Mnemonic V1 and V2, including SegWit and Standard transactions.
 
These features make your package a comprehensive solution for encoding, cryptography, blockchain management, BIP39 mnemonic support, and diverse blockchain address encoding and decoding needs.
Example: Explore Our Toolkit
Discover the capabilities of our comprehensive crypto and blockchain toolkit through interactive tests. Visit our test page to access thousands of examples, showcasing pure Dart's cross-platform functionality. Learn encoding, cryptography, address management, mnemonics, and more.
Contributing
Contributions are welcome! Please follow these guidelines:
- Fork the repository and create a new branch.
 - Make your changes and ensure tests pass.
 - Submit a pull request with a detailed description of your changes.
 
Feature requests and bugs
Please file feature requests and bugs in the issue tracker.
Libraries
- base32/base32
 - base58/base58
 - Library for working with Base58 encoding.
 - base58/base58_base
 - base58/base58_ex
 - base58/base58_xmr
 - bech32/bch_bech32
 - bech32/bech32
 - Library for working with Bech32 encoding.
 - bech32/bech32_base
 - bech32/bech32_ex
 - bech32/bech32_utils
 - bech32/segwit_bech32
 - binary/binary
 - binary/binary_operation
 - binary/bit_utils
 - binary/tracker
 - binary/utils
 - bip/address/ada_byron_addr
 - bip/address/ada_shelley_addr
 - bip/address/addr_dec_utils
 - bip/address/addr_key_validator
 - bip/address/algo_addr
 - bip/address/aptos_addr
 - bip/address/atom_addr
 - bip/address/avax_addr
 - bip/address/bch_addr_converter
 - bip/address/decoder
 - bip/address/decoders
 - AN address_decoder library for decoding blockchain addresses
 - bip/address/egld_addr
 - bip/address/encoder
 - bip/address/encoders
 - A address_encoder liberary for encoding blockchain addresses from public keys.
 - bip/address/eos_addr
 - bip/address/ergo
 - bip/address/eth_addr
 - bip/address/fil_addr
 - bip/address/icx_addr
 - bip/address/inj_addr
 - bip/address/nano_addr
 - bip/address/near_addr
 - bip/address/neo_addr
 - bip/address/okex_addr
 - bip/address/one_addr
 - bip/address/p2pkh_addr
 - bip/address/p2sh_addr
 - bip/address/p2tr_addr
 - bip/address/p2wpkh_addr
 - bip/address/sol_addr
 - bip/address/substrate_addr
 - bip/address/trx_addr
 - bip/address/xlm_addr
 - bip/address/xmr_addr
 - bip/address/xrp_addr
 - bip/address/xtz_addr
 - bip/address/zil_addr
 - bip/algorand/algorand
 - bip/algorand/mnemonic/algorand_entropy_generator
 - bip/algorand/mnemonic/algorand_mnemonic
 - bip/algorand/mnemonic/algorand_mnemonic_decoder
 - bip/algorand/mnemonic/algorand_mnemonic_encoder
 - bip/algorand/mnemonic/algorand_mnemonic_generator
 - bip/algorand/mnemonic/algorand_mnemonic_utils
 - bip/algorand/mnemonic/algorand_mnemonic_validator
 - bip/algorand/mnemonic/algorand_seed_generator
 - bip/bip/bip
 - The 'bip' library serves as a comprehensive collection of libraries for working with various Bitcoin Improvement Proposals (BIPs) in the realm of cryptocurrency.
 - bip/bip/bip32/base/bip32_base
 - bip/bip/bip32/base/ibip32_key_derivator
 - bip/bip/bip32/base/ibip32_mst_key_generator
 - bip/bip/bip32/bip32
 - The 'bip32' library provides a comprehensive set of tools for working with BIP-32 Hierarchical Deterministic Wallets, which are commonly used in cryptocurrencies to manage and derive keys.
 - bip/bip/bip32/bip32_const
 - bip/bip/bip32/bip32_ex
 - bip/bip/bip32/bip32_key_data
 - bip/bip/bip32/bip32_key_net_ver
 - bip/bip/bip32/bip32_key_ser
 - bip/bip/bip32/bip32_keys
 - bip/bip/bip32/bip32_path
 - bip/bip/bip32/khalow/bip32_kholaw_ed25519
 - bip/bip/bip32/khalow/bip32_kholaw_ed25519_key_derivator
 - bip/bip/bip32/khalow/bip32_kholaw_key_derivator_base
 - bip/bip/bip32/khalow/bip32_kholaw_mst_key_generator
 - bip/bip/bip32/slip10/bip32_slip10_ed25519
 - bip/bip/bip32/slip10/bip32_slip10_ed25519_blake2b
 - bip/bip/bip32/slip10/bip32_slip10_key_derivator
 - bip/bip/bip32/slip10/bip32_slip10_mst_key_generator
 - bip/bip/bip32/slip10/bip32_slip10_nist256p1
 - bip/bip/bip32/slip10/bip32_slip10_secp256k1
 - bip/bip/bip38/bip38
 - The 'bip38' library provides tools for working with BIP-38, a standard for encrypting and decrypting private keys in a human-readable format.
 - bip/bip/bip38/bip38_addr
 - bip/bip/bip38/bip38_base
 - bip/bip/bip38/bip38_ec
 - bip/bip/bip38/bip38_no_ec
 - bip/bip/bip39/bip39
 - The 'bip39' library provides a comprehensive set of tools for working with BIP-39 mnemonics, a standard for creating human-readable mnemonic phrases for cryptographic keys.
 - bip/bip/bip39/bip39_entropy_generator
 - bip/bip/bip39/bip39_mnemonic
 - bip/bip/bip39/bip39_mnemonic_decoder
 - bip/bip/bip39/bip39_mnemonic_encoder
 - bip/bip/bip39/bip39_mnemonic_generator
 - bip/bip/bip39/bip39_mnemonic_utils
 - bip/bip/bip39/bip39_mnemonic_validator
 - bip/bip/bip39/bip39_seed_generator
 - bip/bip/bip39/word_list/languages
 - The 
bip39_menemonic_languageslibrary provides a collection of mnemonic word lists for different languages as defined in BIP-39 (Bitcoin Improvement Proposal 39). These word lists are used for creating and recovering cryptocurrency wallets. - bip/bip/bip44/base/bip44_base
 - bip/bip/bip44/base/bip44_base_ex
 - bip/bip/bip44/base/bip44_keys
 - bip/bip/bip44/bip44
 - The 'bip44' library provides tools for working with BIP-44, a standard for hierarchical deterministic wallets and key derivation in cryptocurrencies.
 - bip/bip/bip44/bip44_base
 - bip/bip/bip49/bip49
 - The 'bip49' library provides tools for working with BIP-49, a standard for hierarchical deterministic wallets and key derivation in cryptocurrencies. Export statement for the BIP-49 base implementation, which includes key derivation and wallet management functions.
 - bip/bip/bip49/bip49_base
 - bip/bip/bip84/bip84
 - The 'bip84' library provides tools for working with BIP-84, a standard for hierarchical deterministic wallets and key derivation in cryptocurrencies.
 - bip/bip/bip84/bip84_base
 - bip/bip/bip86/bip86
 - The 'bip86' library provides tools for working with BIP-86, a standard for hierarchical deterministic wallets and key derivation in cryptocurrencies.
 - bip/bip/bip86/bip86_base
 - bip/bip/conf/bip44/bip44_coins
 - bip/bip/conf/bip44/bip44_conf
 - bip/bip/conf/bip49/bip49_coins
 - bip/bip/conf/bip49/bip49_conf
 - bip/bip/conf/bip84/bip84_coins
 - bip/bip/conf/bip84/bip84_conf
 - bip/bip/conf/bip86/bip86_coins
 - bip/bip/conf/bip86/bip86_conf
 - bip/bip/conf/bip_bitcoin_cash_conf
 - bip/bip/conf/bip_coin_conf
 - bip/bip/conf/bip_coins
 - bip/bip/conf/bip_conf_const
 - bip/bip/conf/bip_config
 - The 'bip_config' library provides configuration files and information related to various BIP (Bitcoin Improvement Proposal) standards, including BIP-44, BIP-49, BIP-84, and BIP-86. It defines coin names, parameters, and coin configuration data for hierarchical deterministic wallets in cryptocurrencies, facilitating wallet development and key derivation for a variety of blockchain networks.
 - bip/bip/conf/bip_litecoin_conf
 - bip/cardano/bip32/cardano_byron_legacy_bip32
 - bip/cardano/bip32/cardano_byron_legacy_key_derivator
 - bip/cardano/bip32/cardano_byron_legacy_mst_key_generator
 - bip/cardano/bip32/cardano_icarus_bip32
 - bip/cardano/bip32/cardano_icarus_mst_key_generator
 - bip/cardano/byron/cardano_byron_legacy
 - bip/cardano/cardano
 - The 'cardano' library provides tools and components related to Cardano blockchain, including key derivation, hierarchical deterministic wallets, mnemonic seed generation, and more.
 - bip/cardano/cip1852/cip1852
 - bip/cardano/cip1852/conf/cip1852_coins
 - bip/cardano/cip1852/conf/cip1852_conf
 - bip/cardano/mnemonic/cardano_byron_legacy_seed_generator
 - bip/cardano/mnemonic/cardano_icarus_seed_generator
 - bip/cardano/shelley/cardano_shelley
 - bip/cardano/shelley/cardano_shelley_keys
 - bip/coin_conf/coin_conf
 - bip/coin_conf/coins_conf
 - bip/coin_conf/coins_name
 - bip/ecc/bip_ecc
 - bip/ecc/curve/elliptic_curve_getter
 - bip/ecc/curve/elliptic_curve_types
 - bip/ecc/keys/ecdsa_keys
 - bip/ecc/keys/ed25519_blake2b_keys
 - bip/ecc/keys/ed25519_keys
 - bip/ecc/keys/ed25519_kholaw_keys
 - bip/ecc/keys/ed25519_monero_keys
 - bip/ecc/keys/i_keys
 - bip/ecc/keys/nist256p1_keys
 - bip/ecc/keys/secp256k1_keys_ecdsa
 - bip/ecc/keys/sr25519_keys
 - bip/electrum/electrum
 - The 'electrum' library provides tools for working with Electrum-style mnemonic phrases and address keys, including version 1 (v1) and version 2 (v2) of Electrum standards.
 - bip/electrum/electrum_v1
 - bip/electrum/electrum_v2
 - bip/electrum/mnemonic_v1/electrum_v1_entropy_generator
 - bip/electrum/mnemonic_v1/electrum_v1_mnemonic
 - bip/electrum/mnemonic_v1/electrum_v1_mnemonic_decoder
 - bip/electrum/mnemonic_v1/electrum_v1_mnemonic_encoder
 - bip/electrum/mnemonic_v1/electrum_v1_mnemonic_generator
 - bip/electrum/mnemonic_v1/electrum_v1_mnemonic_utils
 - bip/electrum/mnemonic_v1/electrum_v1_mnemonic_validator
 - bip/electrum/mnemonic_v1/electrum_v1_seed_generator
 - bip/electrum/mnemonic_v1/wrodlist/languages
 - Library for Electrum V1 mnemonic language support.
 - bip/electrum/mnemonic_v2/electrum_v2_entropy_generator
 - bip/electrum/mnemonic_v2/electrum_v2_mnemonic
 - bip/electrum/mnemonic_v2/electrum_v2_mnemonic_decoder
 - bip/electrum/mnemonic_v2/electrum_v2_mnemonic_encoder
 - bip/electrum/mnemonic_v2/electrum_v2_mnemonic_generator
 - bip/electrum/mnemonic_v2/electrum_v2_mnemonic_utils
 - bip/electrum/mnemonic_v2/electrum_v2_mnemonic_validator
 - bip/electrum/mnemonic_v2/electrum_v2_seed_generator
 - bip/mnemonic/entropy_generator
 - bip/mnemonic/mnemonic
 - bip/mnemonic/mnemonic_decoder_base
 - bip/mnemonic/mnemonic_encoder_base
 - bip/mnemonic/mnemonic_ex
 - bip/mnemonic/mnemonic_utils
 - bip/mnemonic/mnemonic_validator
 - bip/monero/conf/monero_coin_conf
 - bip/monero/conf/monero_coins
 - bip/monero/conf/monero_conf
 - bip/monero/mnemonic/monero_entropy_generator
 - bip/monero/mnemonic/monero_mnemonic
 - bip/monero/mnemonic/monero_mnemonic_decoder
 - bip/monero/mnemonic/monero_mnemonic_encoder
 - bip/monero/mnemonic/monero_mnemonic_generator
 - bip/monero/mnemonic/monero_mnemonic_utils
 - bip/monero/mnemonic/monero_mnemonic_validator
 - bip/monero/mnemonic/monero_seed_generator
 - bip/monero/mnemonic/words_list/languages
 - Library for Monero mnemonic language support.
 - bip/monero/monero
 - The 'monero' library provides tools for working with Monero cryptocurrency, including configuration data, mnemonic phrases, keys, and address generation.
 - bip/monero/monero_base
 - bip/monero/monero_exc
 - bip/monero/monero_keys
 - bip/monero/monero_subaddr
 - bip/slip/slip32/slip32
 - bip/slip/slip32/slip32_key_net_ver
 - bip/slip/slip44/slip44
 - bip/slip/slip173/slip173
 - bip/substrate/conf/substrate_coin_conf
 - bip/substrate/conf/substrate_coins
 - bip/substrate/conf/substrate_conf
 - bip/substrate/scale/substrate_scale_enc_base
 - bip/substrate/scale/substrate_scale_enc_bytes
 - bip/substrate/scale/substrate_scale_enc_cuint
 - bip/substrate/scale/substrate_scale_enc_uint
 - bip/substrate/substrate
 - The 'substrate' library provides tools for working with the Substrate blockchain ecosystem, including coin definitions, configuration data, and encoding utilities.
 - bip/substrate/substrate_base
 - bip/substrate/substrate_ex
 - bip/substrate/substrate_keys
 - bip/substrate/substrate_path
 - bip/wif/wif
 - blockchain_utils
 - The 
blockchain_utilslibrary provides a collection of utilities and tools for working with various aspects of blockchain and cryptocurrency technologies. - cbor/cbor
 - Library for working with Concise Binary Object Representation (CBOR) data format.
 - cbor/core/cbor
 - cbor/types/base
 - cbor/types/bigfloat
 - cbor/types/bigint
 - cbor/types/boolean
 - cbor/types/bytes
 - cbor/types/cbor_tag
 - cbor/types/datetime
 - cbor/types/decimal
 - cbor/types/double
 - cbor/types/int
 - cbor/types/int64
 - cbor/types/list
 - cbor/types/map
 - cbor/types/mime
 - cbor/types/null
 - cbor/types/regex
 - cbor/types/set
 - cbor/types/string
 - cbor/types/types
 - cbor/types/url
 - cbor/utils/cbor_utils
 - cbor/utils/dynamic_bytes
 - cbor/utils/extentions
 - cbor/utils/float_utils
 - compare/compare
 - crypto/crypto/aead/aead
 - crypto/crypto/aes/aes
 - crypto/crypto/aes/aes_lib
 - crypto/crypto/aes/padding
 - crypto/crypto/blockcipher/blockcipher
 - crypto/crypto/cdsa/cdsa
 - The 'cdsa' library provides tools and components for working with various cryptographic algorithms, including elliptic curve cryptography (ECDSA and EDDSA) and related functionality.
 - crypto/crypto/cdsa/curve/curve
 - crypto/crypto/cdsa/curve/curves
 - crypto/crypto/cdsa/ecdsa/private_key
 - crypto/crypto/cdsa/ecdsa/public_key
 - crypto/crypto/cdsa/ecdsa/signature
 - crypto/crypto/cdsa/eddsa/privatekey
 - crypto/crypto/cdsa/eddsa/publickey
 - crypto/crypto/cdsa/point/base
 - crypto/crypto/cdsa/point/ec_projective_point
 - crypto/crypto/cdsa/point/edwards
 - crypto/crypto/cdsa/point/point
 - crypto/crypto/cdsa/point/ristretto_point
 - crypto/crypto/cdsa/rfc6979/rfc6979
 - crypto/crypto/cdsa/utils/ed25519_utils
 - crypto/crypto/cdsa/utils/exp
 - crypto/crypto/cdsa/utils/ristretto_utils
 - crypto/crypto/cdsa/utils/utils
 - crypto/crypto/chacha/chacha
 - crypto/crypto/chacha20poly1305/chacha20poly1305
 - crypto/crypto/crc32/crc32
 - crypto/crypto/crypto
 - The 'crypto' library provides a collection of cryptographic algorithms and utilities for various cryptographic operations and security functions.
 - crypto/crypto/ctr/ctr
 - crypto/crypto/ecb/ecb
 - crypto/crypto/gcm/gcm
 - crypto/crypto/hash/hash
 - The 
hashlibrary provides a collection of cryptographic hashing and HMAC (Hash-based Message Authentication Code) functions for secure data integrity verification and password protection. - crypto/crypto/hmac/hmac
 - crypto/crypto/pbkdf2/pbkdf2
 - crypto/crypto/poly1305/poly1305
 - crypto/crypto/prng/fortuna
 - crypto/crypto/schnorrkel/keys/keys
 - crypto/crypto/schnorrkel/merlin/transcript
 - crypto/crypto/schnorrkel/shnorrkel
 - The 'schnorrkel' library provides tools for working with the Schnorrkel digital signature scheme, including key management and cryptographic functions.
 - crypto/crypto/schnorrkel/strobe/strobe
 - crypto/crypto/scrypt/scrypt
 - crypto/crypto/x_modem_crc/x_modem_crc
 - crypto/quick_crypto
 - exception/exception
 - hex/hex
 - numbers/big_rational
 - numbers/bigint_utils
 - numbers/int_utils
 - numbers/numbers
 - secret_wallet/secret_wallet
 - signer/bitcoin_signer
 - signer/ecdsa_signing_key
 - signer/eth/eth_signature
 - signer/eth/evm_signer
 - signer/signer
 - signer/tron/tron_signer
 - signer/xrp_signer
 - ss58/ss58
 - Library for SS58 address encoding and decoding.
 - ss58/ss58_base
 - ss58/ss58_ex
 - string/string
 - tuple/tuple
 - uuid/uuid
 - UUID Library