BIP21Converter 是一个处理比特币 URI 编码和解码的小类,这些 URI 依据 https://en.bitcoin.it/wiki/BIP_0021 中的规范。
这些 URI 通常用于付款请求的二维码生成。
一个仅用地址进行编码的样本可能看起来如下
NSURL* url = [BIP21Converter encodeAddress:@"1TzRiCG2Kj7NNjEQzZx5Jiqf3WSgpAkMf" amount:nil label:nil message:nil additionalParameters:nil];
这会生成 URI bitcoin:1TzRiCG2Kj7NNjEQzZx5Jiqf3WSgpAkMf
或者您可以使用 BIP21Object
进行编码,如下
BIP21Object* obj = [BIP21Object objectWithAddress:@"1TzRiCG2Kj7NNjEQzZx5Jiqf3WSgpAkMf"];
obj.amount = @"10";
obj.label = @"Donation";
obj.message = @"Thanks for the help!";
NSURL* url = [BIP21Converter encodeObject:obj];
这会生成 URI bitcoin:1TzRiCG2Kj7NNjEQzZx5Jiqf3WSgpAkMf?amount=10&label=Donation&message=Thanks%20for%20the%20help!
URL 解码会产生一个 BIP21Object
作为输出
NSURL* url = [NSURL URLWithString:@"bitcoin:1TzRiCG2Kj7NNjEQzZx5Jiqf3WSgpAkMf?amount=10&label=Donation"];
BIP21Object* obj = [BIP21Converter decodeURL:url];
Andrew Ogden
BIP21Converter 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。