Author

Topic: [ANN][FLO] A Worldwide Public Record | Alexandria | ETDB | Medici | 0.15 Segwit - page 117. (Read 516135 times)

hero member
Activity: 766
Merit: 621
Own ONION
is this coin going to exchange? I know it's on coins-e.com, but not much trading
full member
Activity: 196
Merit: 100
  • Does a transaction in a block being listed early in the tx list necessarily mean that transaction happened first? A follow up question: is it possible to somehow determine the order that transactions were added into the block? Even more specific, is it possible to determine the exact moment any transaction appeared on the network?

Block times are totally separate from TX times.  In fact right now a low-fee transaction can sit for hours on the bitcoin pool without any miner confirming it in, while hundreds of others are confirmed around it.

All of the transactions go into a pool on the network and then the individual wallets or miners pick and choose which ones will be used to make a particular block. You can use getrawmempool RPC command to get a lit of unconfirmed transactions that your wallet already knows about.

  • Are RPC calls computationally expensive? By this I mean, it seems to take a long time to store all of the data from the blockchain to the database. I haven't had time to run any benchmarks, but I am not sure if it's inserting to the database or reading the RPC calls that is causing the program to take a long time. If it is the RPC call indeed which slows the block crawler down, might it be beneficial to create a native block crawler built into florincoind (or perhaps a separate non-wallet daemon that is streamlined for blokchain parsing)?

Block Crawler specifically doesn't use a database.  I don't think RPC calls are expensive computationally but I suspect they are poorly implemented, or the internal database structure of the block chain is slow.

Technically, all of the functionality of the block crawler is in the daemon, even though most people don't realize it.

ABE and BBE create giant databases and calculate additional information to provide that "block chain explorer" feel.  The fact that Block Crawler does nothing to the data is why I call it a "block chain viewer" instead.

You could use the internals of Block Crawler to easily create a database loader and then build a new block explorer around that.  But everything is already there in the daemon.  Block crawler just makes it a little easier to navigate by handling a few interim steps (like getting the block hash for a block index) in the background.

It never translates a single byte of hex or other data into text (now that the tx-messages are in getrawtransaction Wink)

  • Finally, a bit of an unrelated question, but relevant to blockchain size: is there a way to prevent an "attacker" from having acepted transactions every X amount of blocks? For instance, is it possible to create a transaction script that specifies that only one type of this transaction may be sent from any address to any other address every block? My idea is that to make use of the messaging system within Florincoin, certain addresses should be poised to receive transactions with certain messages, but to avoid spam they should ONLY accept a transaction type which is limited to a certain number of messages per X blocks.

You can do this with your own node.  You will be unable to affect what other nodes are doing, or how they select transactions to mine into blocks.

Sorry sort of a drive-by if I said anything confusing I'll try and clarify in a bit.
legendary
Activity: 1526
Merit: 1002
Waves | 3PHMaGNeTJfqFfD4xuctgKdoxLX188QM8na
Got this feeling it's going to Cryptsy soon Smiley
sr. member
Activity: 301
Merit: 260
FLO dev
Hi everyone,

I've been playing around with a block crawler myself and I have a few questions about the blockchain and Florincoin in general,

Does a transaction in a block being listed early in the tx list necessarily mean that transaction happened first? A follow up question: is it possible to somehow determine the order that transactions were added into the block? Even more specific, is it possible to determine the exact moment any transaction appeared on the network?

No. The miner prioritises transactions according to fee and age and tries to include a number of free transactions, so the order in the block is not the order the transactions were transmitted on the network.

Are RPC calls computationally expensive? By this I mean, it seems to take a long time to store all of the data from the blockchain to the database. I haven't had time to run any benchmarks, but I am not sure if it's inserting to the database or reading the RPC calls that is causing the program to take a long time. If it is the RPC call indeed which slows the block crawler down, might it be beneficial to create a native block crawler built into florincoind (or perhaps a separate non-wallet daemon that is streamlined for blokchain parsing)?

I haven't tested, but I wouldn't think that the RPC calls are very expensive.

Finally, a bit of an unrelated question, but relevant to blockchain size: is there a way to prevent an "attacker" from having acepted transactions every X amount of blocks? For instance, is it possible to create a transaction script that specifies that only one type of this transaction may be sent from any address to any other address every block? My idea is that to make use of the messaging system within Florincoin, certain addresses should be poised to receive transactions with certain messages, but to avoid spam they should ONLY accept a transaction type which is limited to a certain number of messages per X blocks.

Not sure if I follow you, but an "attacking" miner can theoretically decide not to include certain transactions in their blocks depending on the contents of the transaction comment, but other miners running the standard Florin coin client will pick up those transactions.

Also see nLockTime. I've never seen it used, but a transaction can be scheduled to be included at a specific time in the future. https://en.bitcoin.it/wiki/NLockTime
sr. member
Activity: 437
Merit: 260
balance
Hi everyone,

I've been playing around with a block crawler myself and I have a few questions about the blockchain and Florincoin in general,

  • Does a transaction in a block being listed early in the tx list necessarily mean that transaction happened first? A follow up question: is it possible to somehow determine the order that transactions were added into the block? Even more specific, is it possible to determine the exact moment any transaction appeared on the network?
  • Are RPC calls computationally expensive? By this I mean, it seems to take a long time to store all of the data from the blockchain to the database. I haven't had time to run any benchmarks, but I am not sure if it's inserting to the database or reading the RPC calls that is causing the program to take a long time. If it is the RPC call indeed which slows the block crawler down, might it be beneficial to create a native block crawler built into florincoind (or perhaps a separate non-wallet daemon that is streamlined for blokchain parsing)?
  • Finally, a bit of an unrelated question, but relevant to blockchain size: is there a way to prevent an "attacker" from having acepted transactions every X amount of blocks? For instance, is it possible to create a transaction script that specifies that only one type of this transaction may be sent from any address to any other address every block? My idea is that to make use of the messaging system within Florincoin, certain addresses should be poised to receive transactions with certain messages, but to avoid spam they should ONLY accept a transaction type which is limited to a certain number of messages per X blocks.

Thanks for any and all input.
full member
Activity: 196
Merit: 100
OK the Florin Coin installation is updated with some simple feeds.

http://lotto.coinworld.us/FLO/bc/bc_json.php

The following output is available:

Plain Text:

    Network Hash Rate - use GET parameter "hashps"
    http://lotto.coinworld.us/FLO/bc/bc_json.php?hashps

    Block Height - use GET parameter "blocks"
    http://lotto.coinworld.us/FLO/bc/bc_json.php?blocks

    Difficulty - use GET parameter "difficulty"
    http://lotto.coinworld.us/FLO/bc/bc_json.php?difficulty

   Connection Count- use GET parameter "connections"
    http://lotto.coinworld.us/FLO/bc/bc_json.php?connections

JSON:

    Status (All Data) - use GET parameter "status"
    http://lotto.coinworld.us/FLO/bc/bc_json.php?status

Later I will be adding this to the Block Crawler repository on GitHub as well - it's a very simple extension of the script.

NOTE: the return of the STATUS request is untested with a daemon that doesn't support the getnetworkhashps method at this time. It should pass through the daemon error message "Method Not Supported" or some such.
sr. member
Activity: 301
Merit: 260
FLO dev
Do you have a block explorer with an API?  If so, I can add this to CoinChoose.

What features do you use?

If it's actual available data I can probably make you an interface. If it's something that ABE or BBE calculates based on it's database It's outside the scope of the current script.

I need either ABE or the ability to retreive (perhaps in a JSON feed) the difficulty and current blocks.  Sort of like this - http://btgblockexplorer.is-very-good.org/json.php

I'm not sure where that feed is getting the block reward, I'm guessing it's stored somewhere as part of the pool setup. If you (or anyone) knows how to extract it form the daemon I'd love to know.

I'll add a small json output to the Block Crawler script in the next few hours.  It will give all the information in getinfo and also the network hash rate for those daemons who provide it.

If there is anything else you would like extracted let me know.

I don't think there's a daemon call for the block reward, but for Florin it's basically:

100 FLO  Block 0 to 799,999
50 FLO   Block 800,000 to 1,599,999
25 FLO   Block 1,600,000 to 2,399,999
etc.

It halves every 800K blocks.
hero member
Activity: 630
Merit: 502
If you (or anyone) knows how to extract it form the daemon I'd love to know.

You need to do something like this:
Quote
getinfo
{
    "version" : "v0.4.1.5-g32a928e-beta",
    "protocolversion" : 60006,
    "walletversion" : 60000,
    "balance" : 0.0000000,
    "newmint" : 0.00000000,
    "stake" : 0.00000000,
    "blocks" : 12224,
    "moneysupply" : 17436.11299300,
    "connections" : 23,
    "proxy" : "",
    "ip" : "xxx.xxx.xxx.xxx",
    "difficulty" : 2.85455904,
    "testnet" : false,
    "keypoololdest" : 1372947844,
    "keypoolsize" : 102,
    "paytxfee" : 0.00100000,
    "errors" : ""
}

getblockhash 12224
0000000015f4a81fd427b61d98e45ede8b6891f7e6d243d0727d458e3f00aea0

getblock 0000000015f4a81fd427b61d98e45ede8b6891f7e6d243d0727d458e3f00aea0
{
    "hash" : "0000000015f4a81fd427b61d98e45ede8b6891f7e6d243d0727d458e3f00aea0",
    "confirmations" : 1,
    "size" : 803,
    "height" : 12224,
    "version" : 4,
    "merkleroot" : "671cbab9a87ad561709219183d441341869b6c538e7f4e08aa5320d113d6fb8c",
    "mint" : 0.29031200,
    "time" : 1372958887,
    "nonce" : 2929238016,
    "bits" : "1c59ae03",
    "difficulty" : 2.85455904,
    "previousblockhash" : "0000000015ef93befade88b3226ec0449632a65f10a9cdb59b2b9f1aae8a536c",
    "flags" : "proof-of-work",
    "proofhash" : "0000000015f4a81fd427b61d98e45ede8b6891f7e6d243d0727d458e3f00aea0",
    "entropybit" : 0,
    "modifier" : "af21bef8003b76c8",
    "modifierchecksum" : "a798aa06",
    "tx" : [
        "8848c71b8fc1b9acc5bac9c57b4146e0b0a3482b0143e2d7bbf8826a4a66ea99",
        "9af21e3aada3369b9b590863f53f98f1258fccfd09ac9db598c087ea001aaf06"
    ],
    "signature" : "304402200ecaa7ad37424fa3b39335b6ef287330d5039e1c119f74f17d3cf0b5ef9b32e902203d2 d03bf2988b626ae0d89ba33886f7a14a11b4dc7ff77a562e78020a6a5349a"

}

This only works on PoW + PoS coins though.
hero member
Activity: 490
Merit: 500
Do you have a block explorer with an API?  If so, I can add this to CoinChoose.

What features do you use?

If it's actual available data I can probably make you an interface. If it's something that ABE or BBE calculates based on it's database It's outside the scope of the current script.

I need either ABE or the ability to retreive (perhaps in a JSON feed) the difficulty and current blocks.  Sort of like this - http://btgblockexplorer.is-very-good.org/json.php

I'm not sure where that feed is getting the block reward, I'm guessing it's stored somewhere as part of the pool setup. If you (or anyone) knows how to extract it form the daemon I'd love to know.

I'll add a small json output to the Block Crawler script in the next few hours.  It will give all the information in getinfo and also the network hash rate for those daemons who provide it.

If there is anything else you would like extracted let me know.


Don't worry about the block reward - BitGem has a variable reward.
full member
Activity: 196
Merit: 100
Do you have a block explorer with an API?  If so, I can add this to CoinChoose.

What features do you use?

If it's actual available data I can probably make you an interface. If it's something that ABE or BBE calculates based on it's database It's outside the scope of the current script.

I need either ABE or the ability to retreive (perhaps in a JSON feed) the difficulty and current blocks.  Sort of like this - http://btgblockexplorer.is-very-good.org/json.php

I'm not sure where that feed is getting the block reward, I'm guessing it's stored somewhere as part of the pool setup. If you (or anyone) knows how to extract it form the daemon I'd love to know.

I'll add a small json output to the Block Crawler script in the next few hours.  It will give all the information in getinfo and also the network hash rate for those daemons who provide it.

If there is anything else you would like extracted let me know.
hero member
Activity: 490
Merit: 500
Do you have a block explorer with an API?  If so, I can add this to CoinChoose.

What features do you use?

If it's actual available data I can probably make you an interface. If it's something that ABE or BBE calculates based on it's database It's outside the scope of the current script.

I need either ABE or the ability to retreive (perhaps in a JSON feed) the difficulty and current blocks.  Sort of like this - http://btgblockexplorer.is-very-good.org/json.php
full member
Activity: 196
Merit: 100
Do you have a block explorer with an API?  If so, I can add this to CoinChoose.

What features do you use?

If it's actual available data I can probably make you an interface. If it's something that ABE or BBE calculates based on it's database It's outside the scope of the current script.
hero member
Activity: 490
Merit: 500
Do you have a block explorer with an API?  If so, I can add this to CoinChoose.
member
Activity: 80
Merit: 10
Have any update more?  Huh so quick
full member
Activity: 176
Merit: 100
legendary
Activity: 1051
Merit: 1000
https://r.honeygain.me/XEDDM2B07C
Hi, attempting to build Florin coin from source on Ubuntu 12.04 using these instructions:
https://github.com/pascalguru/florincoin/blob/master/doc/readme-qt.rst


Using "make" returns this error:
Code:
/usr/bin/ld: cannot find -lminiupnpc

I've installed miniupnpc 1.8 successfully and it's in the /src folder. Is there another dependency I'm missing?


EDIT: found out the problem, lminiupnpc apparently is an alias (not sure of the technical definition) for libminiupnpc.so

The correct directory (apparently) is /usr/lib/ and under /usr/lib/ I had libminiupnpc.so.8 in that directory somehow, renamed it libminiupnpc.so and that worked.
make -f makefile.unix USE_UPNP=
legendary
Activity: 1051
Merit: 1000
https://r.honeygain.me/XEDDM2B07C
I'm interested in seeing how the blockchain handles those messages.

Say hello to massive TX fees Grin
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
An official web site launched:

www.florincoin.org

It is very basic at the moment, but suggestions are welcome.

Add favicon + logo
sr. member
Activity: 301
Merit: 260
FLO dev
An official web site launched:

www.florincoin.org

It is very basic at the moment, but suggestions are welcome.
Jump to: