Author

Topic: Transaction count (Read 1242 times)

hero member
Activity: 812
Merit: 587
Space Lord
December 30, 2014, 06:20:18 AM
#12
I can't see why you simply don't wrap up a script and use RPC to get whatever you want.
hero member
Activity: 602
Merit: 501
December 30, 2014, 05:28:39 AM
#11
Can't you grab all transactions and then parse them and output depending on your need?

I thought about that, then i came to the realization that the best tool for that is a separately built database. Kind of like a true block explorer in the wallet. However i have no clue how to do that.
hero member
Activity: 812
Merit: 587
Space Lord
December 30, 2014, 04:03:34 AM
#10
Can't you grab all transactions and then parse them and output depending on your need?
hero member
Activity: 602
Merit: 501
December 30, 2014, 12:43:39 AM
#9
I give up,

 Cry Cry Cry

i need help getting the following numbers

Code:
int txincount;

int txoutcount;

int number-of-times-you-have-sent-to-a-specific-address;

int number-of-times-you-have-received-from-a-specific-address;

i know that if i get at least txincount, txoutcount becomes trivial, the last two are a problem though , i have no clue how to get that.
hero member
Activity: 812
Merit: 587
Space Lord
December 29, 2014, 05:24:12 PM
#8
It returns a list of COutputs from COutPoints

https://dev.visucore.com/bitcoin/doxygen/class_c_out_point.html
hero member
Activity: 602
Merit: 501
December 29, 2014, 05:16:59 PM
#7
just bumped into something,

Code:
void WalletModel::getOutputs(const std::vector& vOutpoints, std::vector& vOutputs)
{
    BOOST_FOREACH(const COutPoint& outpoint, vOutpoints)
    {
        if (!wallet->mapWallet.count(outpoint.hash)) continue;
        int nDepth = wallet->mapWallet[outpoint.hash].GetDepthInMainChain();
        if (nDepth < 0) continue;
        COutput out(&wallet->mapWallet[outpoint.hash], outpoint.n, nDepth);
        vOutputs.push_back(out);
    }
}

what is this?
hero member
Activity: 602
Merit: 501
December 29, 2014, 04:48:21 PM
#6
 Grin Grin Grin

thanks guys!
hero member
Activity: 602
Merit: 501
December 29, 2014, 04:41:35 PM
#5
Code:

listtransactions ( "account" count from includeWatchonly)

Returns up to 'count' most recent transactions skipping the first 'from' transactions for account 'account'.

Arguments:
1. "account" (string, optional) The account name. If not included, it will list all transactions for all accounts.
If "" is set, it will list transactions for the default account.
2. count (numeric, optional, default=10) The number of transactions to return
3. from (numeric, optional, default=0) The number of transactions to skip
4. includeWatchonly (bool, optional, default=false) Include transactions to watchonly addresses (see 'importaddress')

Result:
[
{
"account":"accountname", (string) The account name associated with the transaction.
It will be "" for the default account.
"address":"bitcoinaddress", (string) The bitcoin address of the transaction. Not present for
move transactions (category = move).
"category":"send|receive|move", (string) The transaction category. 'move' is a local (off blockchain)
transaction between accounts, and not associated with an address,
transaction id or block. 'send' and 'receive' transactions are
associated with an address, transaction id and block details
"amount": x.xxx, (numeric) The amount in btc. This is negative for the 'send' category, and for the
'move' category for moves outbound. It is positive for the 'receive' category,
and for the 'move' category for inbound funds.
"vout" : n, (numeric) the vout value
"fee": x.xxx, (numeric) The amount of the fee in btc. This is negative and only available for the
'send' category of transactions.
"confirmations": n, (numeric) The number of confirmations for the transaction. Available for 'send' and
'receive' category of transactions.
"blockhash": "hashvalue", (string) The block hash containing the transaction. Available for 'send' and 'receive'
category of transactions.
"blockindex": n, (numeric) The block index containing the transaction. Available for 'send' and 'receive'
category of transactions.
"txid": "transactionid", (string) The transaction id. Available for 'send' and 'receive' category of transactions.
"time": xxx, (numeric) The transaction time in seconds since epoch (midnight Jan 1 1970 GMT).
"timereceived": xxx, (numeric) The time received in seconds since epoch (midnight Jan 1 1970 GMT). Available
for 'send' and 'receive' category of transactions.
"comment": "...", (string) If a comment is associated with the transaction.
"otheraccount": "accountname", (string) For the 'move' category of transactions, the account the funds came
from (for receiving funds, positive amounts), or went to (for sending funds,
negative amounts).
}
]

Examples:

List the most recent 10 transactions in the systems
> bitcoin-cli listtransactions

List the most recent 10 transactions for the tabby account
> bitcoin-cli listtransactions "tabby"

List transactions 100 to 120 from the tabby account
> bitcoin-cli listtransactions "tabby" 20 100

As a json rpc call
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listtransactions", "params": ["tabby", 20, 100] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

Now you can check for all three kinds of transactions.

thats rpc thanks, but it does not seperate them based on incoming outgoing or mined.

perhaps i  can modify the method and add category to the arguments.
hero member
Activity: 602
Merit: 501
December 29, 2014, 04:39:44 PM
#4
RPC or source code?

listtransactions should suit your needs.

source code,  i'll take a look at listtransactions , because after this i am going to need to sort them by address as well.

thanks!
hero member
Activity: 812
Merit: 587
Space Lord
December 29, 2014, 04:38:15 PM
#3
Code:

listtransactions ( "account" count from includeWatchonly)

Returns up to 'count' most recent transactions skipping the first 'from' transactions for account 'account'.

Arguments:
1. "account" (string, optional) The account name. If not included, it will list all transactions for all accounts.
If "" is set, it will list transactions for the default account.
2. count (numeric, optional, default=10) The number of transactions to return
3. from (numeric, optional, default=0) The number of transactions to skip
4. includeWatchonly (bool, optional, default=false) Include transactions to watchonly addresses (see 'importaddress')

Result:
[
{
"account":"accountname", (string) The account name associated with the transaction.
It will be "" for the default account.
"address":"bitcoinaddress", (string) The bitcoin address of the transaction. Not present for
move transactions (category = move).
"category":"send|receive|move", (string) The transaction category. 'move' is a local (off blockchain)
transaction between accounts, and not associated with an address,
transaction id or block. 'send' and 'receive' transactions are
associated with an address, transaction id and block details
"amount": x.xxx, (numeric) The amount in btc. This is negative for the 'send' category, and for the
'move' category for moves outbound. It is positive for the 'receive' category,
and for the 'move' category for inbound funds.
"vout" : n, (numeric) the vout value
"fee": x.xxx, (numeric) The amount of the fee in btc. This is negative and only available for the
'send' category of transactions.
"confirmations": n, (numeric) The number of confirmations for the transaction. Available for 'send' and
'receive' category of transactions.
"blockhash": "hashvalue", (string) The block hash containing the transaction. Available for 'send' and 'receive'
category of transactions.
"blockindex": n, (numeric) The block index containing the transaction. Available for 'send' and 'receive'
category of transactions.
"txid": "transactionid", (string) The transaction id. Available for 'send' and 'receive' category of transactions.
"time": xxx, (numeric) The transaction time in seconds since epoch (midnight Jan 1 1970 GMT).
"timereceived": xxx, (numeric) The time received in seconds since epoch (midnight Jan 1 1970 GMT). Available
for 'send' and 'receive' category of transactions.
"comment": "...", (string) If a comment is associated with the transaction.
"otheraccount": "accountname", (string) For the 'move' category of transactions, the account the funds came
from (for receiving funds, positive amounts), or went to (for sending funds,
negative amounts).
}
]

Examples:

List the most recent 10 transactions in the systems
> bitcoin-cli listtransactions

List the most recent 10 transactions for the tabby account
> bitcoin-cli listtransactions "tabby"

List transactions 100 to 120 from the tabby account
> bitcoin-cli listtransactions "tabby" 20 100

As a json rpc call
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listtransactions", "params": ["tabby", 20, 100] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

Now you can check for all three kinds of transactions.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
December 29, 2014, 04:32:21 PM
#2
RPC or source code?

listtransactions should suit your needs.
hero member
Activity: 602
Merit: 501
December 29, 2014, 04:16:53 PM
#1
Code:
int getNumTransactions() const
{
    int numTransactions = 0;
    {
        LOCK(wallet->cs_wallet);
        numTransactions = wallet->mapWallet.size();
    }
    return numTransactions;
}

gives me the total num of transactions
 can anyone please tell me how to get specific details

i want to get the total incoming tx count, the mined tx count and the outgoing tx count seperately.
Jump to: