PeerId.fromPublicKey constructor

PeerId.fromPublicKey(
  1. PublicKey publicKey
)

Creates a PeerId from a public key

Implementation

PeerId.fromPublicKey(PublicKey publicKey) {
  final keyBytes = publicKey.marshal();

  // If key is small enough, use identity multihash
  if (keyBytes.length <= _maxInlineKeyLength) {
    final identityMultihash = Multihash.encode('identity', keyBytes);
    _multihash = identityMultihash.toBytes();
    return;
  }

  // Otherwise use SHA2-256
  final sha256Multihash = Multihash.encode('sha2-256', keyBytes);
  _multihash = sha256Multihash.toBytes();
}