solana_kit_address 0.9.1
solana_kit_address: ^0.9.1 copied to clipboard
Core Address extension type, codecs, comparator, and PublicKey type for the Solana Kit Dart SDK.
solana_kit_address #
The Address extension type, its codecs, a base58 collation comparator, and public key conversion helpers for the Solana Kit Dart SDK.
Use this package when you need a validated base58-encoded Solana address as a typed value, or when you need to serialize addresses into on-chain data. Most apps reach this through the solana_kit umbrella or solana_kit_addresses.
Installation #
Install the package directly:
dependencies:
"solana_kit_address": ^0.9.1
If your app uses several Solana Kit packages together, you can also depend on the umbrella package instead:
dart pub add solana_kit
Inside this monorepo, Dart workspace resolution uses the local package automatically.
Usage #
import 'package:solana_kit_address/solana_kit_address.dart';
void main() {
// Create a validated address.
final addr = address('11111111111111111111111111111111');
// Check if a string is a valid address without throwing.
final valid = isAddress('11111111111111111111111111111111');
print('Valid: $valid');
// Encode and decode addresses as fixed-size 32-byte values.
final codec = getAddressCodec();
final bytes = codec.encode(addr);
final decoded = codec.decode(bytes);
print('Round trip: ${decoded.value}');
// Compare addresses using base58 collation order.
final comparator = getAddressComparator();
final addresses = [
address('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'),
address('11111111111111111111111111111111'),
];
addresses.sort(comparator);
print(addresses.map((a) => a.value).toList());
// Convert between public key bytes and addresses.
final publicKeyBytes = getPublicKeyFromAddress(addr);
final addrFromKey = getAddressFromPublicKey(publicKeyBytes);
print('From key: ${addrFromKey.value}');
}
Key APIs #
| API | Description |
|---|---|
Address |
Extension type wrapping a validated base58 string |
address() |
Factory that validates and creates an Address |
assertIsAddress() |
Throws if the string is not a valid address |
isAddress() |
Returns true/false without throwing |
getAddressCodec() |
Returns a fixed-size codec for encoding/decoding |
getAddressEncoder() |
Returns an encoder that produces exactly 32 bytes |
getAddressDecoder() |
Returns a decoder that reads 32 bytes into an Address |
getAddressComparator() |
Returns a base58 collation-order Comparator<Address> |
getAddressFromPublicKey() |
Converts 32-byte Ed25519 public key to Address |
getPublicKeyFromAddress() |
Converts an Address to 32-byte Ed25519 public key |