/// <summary> /// Converts a public key to a local address (which is used as unique identifier within a DAppChain). /// </summary> /// <param name="publicKey">32-byte public key</param> /// <returns>Array of bytes representing a local address.</returns> public static byte[] LocalAddressFromPublicKey(byte[] publicKey) { lock (ripeMd160Digest) { ripeMd160Digest.Reset(); ripeMd160Digest.BlockUpdate(publicKey, 0, publicKey.Length); byte[] address = new byte[ripeMd160Digest.GetDigestSize()]; ripeMd160Digest.DoFinal(address, 0); return(address); } }