Bitcoin Forum
December 12, 2024, 02:35:46 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Transaction count  (Read 1246 times)
bitcreditscc (OP)
Hero Member
*****
Offline Offline

Activity: 602
Merit: 501



View Profile
December 29, 2014, 09: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.

Remember remember the 5th of November
Legendary
*
Offline Offline

Activity: 1862
Merit: 1011

Reverse engineer from time to time


View Profile
December 29, 2014, 09:32:21 PM
 #2

RPC or source code?

listtransactions should suit your needs.

BTC:1AiCRMxgf1ptVQwx6hDuKMu4f7F27QmJC2
Parazyd
Hero Member
*****
Offline Offline

Activity: 812
Merit: 587


Space Lord


View Profile WWW
December 29, 2014, 09: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.
bitcreditscc (OP)
Hero Member
*****
Offline Offline

Activity: 602
Merit: 501



View Profile
December 29, 2014, 09: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!

bitcreditscc (OP)
Hero Member
*****
Offline Offline

Activity: 602
Merit: 501



View Profile
December 29, 2014, 09: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.

bitcreditscc (OP)
Hero Member
*****
Offline Offline

Activity: 602
Merit: 501



View Profile
December 29, 2014, 09:48:21 PM
 #6

 Grin Grin Grin

thanks guys!

bitcreditscc (OP)
Hero Member
*****
Offline Offline

Activity: 602
Merit: 501



View Profile
December 29, 2014, 10:16:59 PM
 #7

just bumped into something,

Code:
void WalletModel::getOutputs(const std::vector<COutPoint>& vOutpoints, std::vector<COutput>& 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?

Parazyd
Hero Member
*****
Offline Offline

Activity: 812
Merit: 587


Space Lord


View Profile WWW
December 29, 2014, 10:24:12 PM
 #8

It returns a list of COutputs from COutPoints

https://dev.visucore.com/bitcoin/doxygen/class_c_out_point.html
bitcreditscc (OP)
Hero Member
*****
Offline Offline

Activity: 602
Merit: 501



View Profile
December 30, 2014, 05: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.

Parazyd
Hero Member
*****
Offline Offline

Activity: 812
Merit: 587


Space Lord


View Profile WWW
December 30, 2014, 09:03:34 AM
 #10

Can't you grab all transactions and then parse them and output depending on your need?
bitcreditscc (OP)
Hero Member
*****
Offline Offline

Activity: 602
Merit: 501



View Profile
December 30, 2014, 10: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.

Parazyd
Hero Member
*****
Offline Offline

Activity: 812
Merit: 587


Space Lord


View Profile WWW
December 30, 2014, 11: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.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!