メタデータ(アカウント)

10.アカウントメタデータトランザクションの実行

メタデータ: アカウント, モザイク, ネームスペース にkey,valueにてカスタムデータを添付して関連付けることができます。

本サンプルではworkaddressアカウントへメタデータを割り当てます。

mijin

割り当てるメタデータはハードコーディングされています。

const key = "AccountMetaTest";
const value = "AccountTest";

実行

node 10_metadata_account.js
出力例:
network 96
GenerationHash 7E77022504E4EAEFC49F4C1F33A30BEE6E40417BB63597CA400EED72ECBFF6A4
scopedMetadataKey D509356FC9B5BACF //HEX化されたメタデータキーが表示されます
txsize 175
payload 528
------------------- signedTransaction ------------------------
SignedTransaction {
  payload: '<payloadが表示されます>',
  hash: 'AD0D1C42E9A5FD71495ED6C82FBD29BC1FA5810678D511CFE8E660957F600A8A',
  signerPublicKey: 'B1E269453CD3FEE641088B752A394A4BA53AD2E01B583533558A2CBD51C02E8F',
  type: 16705,
  networkType: 96
}
------------------- sendTransaction ------------------------
------------------- Success --------------------------------
Success: Transaction AggregateTransaction {
  type: 16705,
  networkType: 96,
  version: 2,
  deadline: Deadline { adjustedValue: 127137273415 },
  maxFee: UInt64 { lower: 0, higher: 0 },
  signature: '<signatureが表示されます>',
  signer: PublicAccount {
    publicKey: '<送信元workaddressのpublicKeyが表示されます>',
    address: Address {
      address: '<送信元workaddressのアドレスが表示されます>',
      networkType: 96
    }
  },
  transactionInfo: TransactionInfo {
    height: UInt64 { lower: 440090, higher: 0 },
    index: undefined,
    id: undefined,
    timestamp: UInt64 { lower: 0, higher: 0 },
    feeMultiplier: 0,
    hash: 'AD0D1C42E9A5FD71495ED6C82FBD29BC1FA5810678D511CFE8E660957F600A8A',
    merkleComponentHash: 'AD0D1C42E9A5FD71495ED6C82FBD29BC1FA5810678D511CFE8E660957F600A8A'
  },
  payloadSize: undefined,
  innerTransactions: [
    AccountMetadataTransaction {
      type: 16708,
      networkType: 96,
      version: 1,
      deadline: [Deadline],
      maxFee: [UInt64],
      signature: '<signatureが表示されます>',
      signer: [PublicAccount],
      transactionInfo: undefined,
      payloadSize: undefined,
      targetAddress: [Address],
      scopedMetadataKey: [UInt64],
      valueSizeDelta: 11,
      value: [Uint8Array]
    }
  ],
  cosignatures: []
}

メタデータを付与したアカウント情報の取得

上記でメタデータを付与実施した、workaddressのアカウント情報を確認します。

  • workaddress

実行

node account_info.js workaddress
出力例:
AccountInfo {
  url: 'https://xxxxxxxx.mijin.io',
  network: '96',
  account: 'workaddress',
  address: '<workaddressのアドレスが表示されます>',
  mosaics: [
    {
      mosaic: '1D361778B3471970',
      amount: '94',
      namespaceAlias: 'techbureau'
    }
  ],
  linkedKeys: { linked: 'None', node: 'None', vrf: 'None', voting: 'None' },
  meta: [
    {
      id: '64940C4D9AAC44BA5541D8A8',
      scopedMetadataKey: 'D509356FC9B5BACF', //HEX化されたメタデータキーが表示されます
      sourceAddress: '<workaddressのアドレスが表示されます>',
      targetAddress: '<workaddressのアドレスが表示されます>',
      metadataType: 0,
      targetId: 'None',
      metadataValue: 'AccountTest' //メタデータの値が表示されます
    }
  ],
  multisig: []
}

参考)ブロックチェーンエクスプローラーでworkaddressのアドレスを検索すると、以下の様に表示されます。

mijin

メタデータエントリ欄に値として表示されます。

ブロックチェーンエクスプローラーに関しては以下FAQを参照ください。