AgregateCompleteトランザクションの実行

6.AgregateCompleteトランザクションの実行

送信元workaddressが保持するモザイクを、複数の送付先アドレスへ送付するトランザクションを、一つのトランザクションに纏めて送信します。

mijin

送信するモザイクの指定は

2.モザイク発行(token)トランザクションの実行

4.Namespace作成トランザクションの実行

5.Aliasトランザクションの実行

にて設定ファイルであるlocal.jsonにprivate1.workaddress.namespaceとして記載し、モザイクに紐づけたNamespaceを指定して送付します。

送付するモザイクはNamespaceで指定しています。

  • private1.workaddress.namespace

送信元 -> 送信先

  • workaddress -> address1
  • workaddress -> address2
  • workaddress -> address3
  • workaddress -> address4
  • workaddress -> address5
  • workaddress -> address6

workaddressからaddress1-address6へのモザイク送信を一つのAgregateCompleteトランザクションに纏めています。

実行

node 06_aggregate_complete_transaction_mosaic.js
出力例:
------------------- signedTransaction ------------------------
SignedTransaction {
  payload: '<payloadが表示されます>',
  hash: 'B9F1B7AA62CEAEF900726D44791CD5BDA300BFB78F3D054F980613D3E529922D',
  signerPublicKey: '<送信元workaddressのpublicKeyが表示されます>',
  type: 16705,
  networkType: 96
}
------------------- sendTransaction ------------------------
------------------- Success --------------------------------
Success: Transaction AggregateTransaction {
  type: 16705,
  networkType: 96,
  version: 2,
  deadline: Deadline { adjustedValue: 124180415246 },
  maxFee: UInt64 { lower: 0, higher: 0 },
  signature: '<signatureが表示されます>',
  signer: PublicAccount {
    publicKey: '<送信元workaddressのpublicKeyが表示されます>',
    address: Address {
      address: '<送信元workaddressのアドレスが表示されます>',
      networkType: 96
    }
  },
  transactionInfo: TransactionInfo {
    height: UInt64 { lower: 144675, higher: 0 },
    index: undefined,
    id: undefined,
    timestamp: UInt64 { lower: 0, higher: 0 },
    feeMultiplier: 0,
    hash: 'B9F1B7AA62CEAEF900726D44791CD5BDA300BFB78F3D054F980613D3E529922D',
    merkleComponentHash: 'B9F1B7AA62CEAEF900726D44791CD5BDA300BFB78F3D054F980613D3E529922D'
  },
  payloadSize: undefined,
  innerTransactions: [
    TransferTransaction {
      type: 16724,
      networkType: 96,
      version: 1,
      deadline: [Deadline],
      maxFee: [UInt64],
      signature: '<signatureが表示されます>',
      signer: [PublicAccount],
      transactionInfo: undefined,
      payloadSize: undefined,
      recipientAddress: [Address],
      mosaics: [Array],
      message: [PlainMessage]
    },
    TransferTransaction {
      type: 16724,
      networkType: 96,
      version: 1,
      deadline: [Deadline],
      maxFee: [UInt64],
      signature: '<signatureが表示されます>',
      signer: [PublicAccount],
      transactionInfo: undefined,
      payloadSize: undefined,
      recipientAddress: [Address],
      mosaics: [Array],
      message: [PlainMessage]
    },
    TransferTransaction {
      type: 16724,
      networkType: 96,
      version: 1,
      deadline: [Deadline],
      maxFee: [UInt64],
      signature: '<signatureが表示されます>',
      signer: [PublicAccount],
      transactionInfo: undefined,
      payloadSize: undefined,
      recipientAddress: [Address],
      mosaics: [Array],
      message: [PlainMessage]
    },
    TransferTransaction {
      type: 16724,
      networkType: 96,
      version: 1,
      deadline: [Deadline],
      maxFee: [UInt64],
      signature: '<signatureが表示されます>',
      signer: [PublicAccount],
      transactionInfo: undefined,
      payloadSize: undefined,
      recipientAddress: [Address],
      mosaics: [Array],
      message: [PlainMessage]
    },
    TransferTransaction {
      type: 16724,
      networkType: 96,
      version: 1,
      deadline: [Deadline],
      maxFee: [UInt64],
      signature: '<signatureが表示されます>',
      signer: [PublicAccount],
      transactionInfo: undefined,
      payloadSize: undefined,
      recipientAddress: [Address],
      mosaics: [Array],
      message: [PlainMessage]
    },
    TransferTransaction {
      type: 16724,
      networkType: 96,
      version: 1,
      deadline: [Deadline],
      maxFee: [UInt64],
      signature: '<signatureが表示されます>',
      signer: [PublicAccount],
      transactionInfo: undefined,
      payloadSize: undefined,
      recipientAddress: [Address],
      mosaics: [Array],
      message: [PlainMessage]
    }
  ],
  cosignatures: []
}

アカウント情報の取得

address1-6が、送金されたMosaicを持っているか確認します。

  • address1の場合

実行

node account_info.js address1
出力例:
AccountInfo {
  url: 'https://xxxxxxxx.mijin.io',
  network: '96',
  account: 'address1',
  address: '<address1のアドレスが表示されます>',
  mosaics: [
    {
      mosaic: '1D361778B3471970',
      amount: '2', //⇐address1へ送金されたモザイクを2保持している
      namespaceAlias: 'techbureau' //ネームスペースtechbureauが紐付されているモザイク
    }
  ],
  linkedKeys: { linked: 'None', node: 'None', vrf: 'None', voting: 'None' },
  meta: []
}

  • address6の場合

実行

node account_info.js address6
出力例:
AccountInfo {
  url: 'https://xxxxxxxx.mijin.io',
  network: '96',
  account: 'address6',
  address: '<address6のアドレスが表示されます>',
  mosaics: [
    {
      mosaic: '1D361778B3471970',
      amount: '1', //⇐address6へ送金されたモザイクを1保持している
      namespaceAlias: 'techbureau' //ネームスペースtechbureauが紐付されているモザイク
    }
  ],
  linkedKeys: { linked: 'None', node: 'None', vrf: 'None', voting: 'None' },
  meta: []
}

workaddressから、送金されたモザイクが減っていることを確認します。

  • workaddressの場合

実行

node account_info.js workaddress
出力例:
AccountInfo {
  url: 'https://xxxxxxxx.mijin.io',
  network: '96',
  account: 'workaddress',
  address: '<workaddressのアドレスが表示されます>',
  mosaics: [
    {
      mosaic: '1D361778B3471970',
      amount: '93', //⇐6送金した分が減算されている
      namespaceAlias: 'techbureau' //ネームスペースtechbureauが紐付されているモザイク
    }
  ],
  linkedKeys: { linked: 'None', node: 'None', vrf: 'None', voting: 'None' },
  meta: []
}