Leyendo transacciones de una cuenta

Obt茅n la lista completa de transacciones que involucran una cuenta.

Prerrequisitos

M茅todo #01: Usando el SDK

  1. Abre un nuevo archivo y define la direcci贸n de la cuenta.

// replace with account address
const rawAddress = 'BXRBDE-NCLKEB-ILBPWP-3JPB2X-NY64OE-7PYHHE-32I';
const address = Address.createFromRawAddress(rawAddress);
// replace with account address
const rawAddress = 'BXRBDE-NCLKEB-ILBPWP-3JPB2X-NY64OE-7PYHHE-32I';
const address = bitxor_sdk_1.Address.createFromRawAddress(rawAddress);
            // replace with signer public key
            NetworkType networkType = repositoryFactory.getNetworkType().toFuture().get();
            PublicAccount signer = PublicAccount.createFromPublicKey(
                "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                networkType);

2. Define un nuevo repositorio TransactionHttp y los criterios de b煤squeda. En este ejemplo, recuperaremos todas las transacciones relacionadas con la cuenta con al menos una confirmaci贸n, pero tambi茅n puedes consultar las colecciones sin confirmar y parciales.

// replace with node endpoint
const nodeUrl = 'NODE_URL';
const repositoryFactory = new RepositoryFactoryHttp(nodeUrl);
const transactionHttp = repositoryFactory.createTransactionRepository();

const searchCriteria = {
  group: TransactionGroup.Confirmed,
  address,
  pageNumber: 1,
  pageSize: 100,
};
transactionHttp.search(searchCriteria).subscribe(
  (page) => console.log(page.data),
  (err) => console.error(err),
);
// replace with node endpoint
const nodeUrl = 'NODE_URL';
const repositoryFactory = new bitxor_sdk_1.RepositoryFactoryHttp(nodeUrl);
const transactionHttp = repositoryFactory.createTransactionRepository();
const searchCriteria = {
    group: bitxor_sdk_1.TransactionGroup.Confirmed,
    address,
    pageNumber: 1,
    pageSize: 100,
};
transactionHttp.search(searchCriteria).subscribe(
    (page) => console.log(page.data),
    (err) => console.error(err),
);
            final TransactionRepository transactionRepository = repositoryFactory
                .createTransactionRepository();

            TransactionPaginationStreamer streamer = new TransactionPaginationStreamer(
                transactionRepository);

            Observable<Transaction> transactions = streamer
                .search(new TransactionSearchCriteria(TransactionGroup.CONFIRMED)
                    .address(signer.getAddress()));

            System.out.println(transactions.toList().toFuture().get());

3. La API devuelve p谩ginas con hasta 100 transacciones. El objeto page contiene informaci贸n sobre la cantidad total de transacciones y p谩ginas disponibles.

Para obtener m谩s transacciones, tendr谩s que hacer solicitudes adicionales de forma iterativa. En cada llamada adicional, incrementa la unidad del pageNumber.

const searchCriteria = {group: TransactionGroup.Confirmed, address, pageNumber: 2, pageSize: 100};

4. Dado que la colecci贸n de transacciones podr铆a crecer durante la paginaci贸n, se recomienda establecer la primera transacci贸n desde la cual deseas comenzar la paginaci贸n. Establece un valor de offset con el identificador interno de la primera transacci贸n.

const searchCriteria = {group: TransactionGroup.Confirmed, address, pageNumber: 2, pageSize: 100, id:85BBEA6CC462B244};

M茅todo #02: Usando el CLI

Abre una ventana de terminal y ejecuta el siguiente comando.

Reemplaza BXRBDE-NCLKEB-ILBPWP-3JPB2X-NY64OE-7PYHHE-32I con la direcci贸n que deseas consultar.

bitxor-cli transaction search --address BXRBDE-NCLKEB-ILBPWP-3JPB2X-NY64OE-7PYHHE-32I