The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Finance::Dogechain::Block - class representing blocks in the Dogechain API

SYNOPSIS

    use Finance::Dogechain::Block;

    my $block = Finance::Dogechain::Block->new(
        block_id => '2750235'
    );

    for my $transaction ($block->transactions->@*) { ... }

DESCRIPTION

Finance::Dogechain::Block represents transactions in the Dogechain API. It inherits methods from Finance::Dogechain::Base and provides several of its own.

METHODS

new( ua => ..., base_url => ..., block_id => '...' )

Creates a new instance of this object. You must provide a block_id parameter, which is either the hash representing a block in the Dogecoin public ledger or the height of a block in the ledger.

Other default constructor values are:

  • ua, a user agent. Defaults to an instance of Mojo::UserAgent.

  • base_url, the base URL path of the dogechain.info API (or an equivalent).

These attributes are available by instance methods block_id(), ua(), and base_url().

block()

Returns a JSON data structure representing the block corresponding to the block_id, if that block is valid and can be accessed. Dogecoin transactions in the block will be replaced with Finance::Dogechain::Transaction objects when possible.

Returns an undefined value (undef in scalar context or an empty list in list context) if the HTTP call did not succeed.

This may also return an undefined value for coinbase blocks.

Returns 0 if the HTTP call did succeed but the API returned an unsuccessful payload.

transactions()

Returns an array reference of all transactions in this block. This array reference may be empty if there are no transactions, as in the case when the block is a coinbase, for example.

TO_JSON()

Returns a string representation of this object (its class and block_id) so that you can serialize this object with JSON.

COPYRIGHT & LICENSE

Copyright 2021 chromatic, some rights reserved.

This program is free software. You can redistribute it and/or modify it under the same terms as Perl 5.32.