Author

Topic: [ANN][CLAM] CLAMs, Proof-Of-Chain, Proof-Of-Working-Stake, a.k.a. "Clamcoin" - page 147. (Read 1151252 times)

Vin
legendary
Activity: 1166
Merit: 1015
I scooped (dug) 4 lots of CLAMs from my older BTC & LTC addresses, yielding 18.4 CLAM. Nice! Smiley

Thats how it works Smiley

Nice for you!
Keep on digging and staking.
sr. member
Activity: 490
Merit: 256
I scooped (dug) 4 lots of CLAMs from my older BTC & LTC addresses, yielding 18.4 CLAM. Nice! Smiley
sr. member
Activity: 261
Merit: 250
I ended up changing the hot wallet client code such that it never spends the dust outputs, but instead merges them whenever the wallet stakes. That is free to do, and so the cost of handling the dust is passed on to all the full nodes in terms of bandwidth and storage, but at least the UTXO set isn't being polluted.
Here's an example of a staking transaction tidying up a bunch of faucet dust.
hi dooglus,
will this be included in the official wallet?
I am not certain what method dooglus is using on Just-Dice, though I expect he using the commit that is already incorporated into the client.  
By setting flags :  
Code:
combineany=1
splitsize=n
combinelimit=n
You can control how your wallet handles staking, including if it will automatically combine dust from other addresses.
thank you for your reply, can you please tell me where i can find the list of all available settings?

A good resource for runtime commands can be found with a simple:
Code:
help
 
In the console. 
 
Command-line flags/options can be seen in the GUI here: 
Console(sidebar)->Information(tab)->Command-line options
 
 
If you are more of a 'code is documentation' type of person, this might be a good resource for you: 
https://github.com/nochowderforyou/clams/blob/master/src/init.cpp#L181

thank you for your reply

help not contain any of combineany, splitsize or combinelimit
I can only see them in init.cpp as you said, seems to me that can only be specified as args of clamd, correct?
hero member
Activity: 784
Merit: 1002
CLAM Developer
I ended up changing the hot wallet client code such that it never spends the dust outputs, but instead merges them whenever the wallet stakes. That is free to do, and so the cost of handling the dust is passed on to all the full nodes in terms of bandwidth and storage, but at least the UTXO set isn't being polluted.
Here's an example of a staking transaction tidying up a bunch of faucet dust.
hi dooglus,
will this be included in the official wallet?
I am not certain what method dooglus is using on Just-Dice, though I expect he using the commit that is already incorporated into the client.  
By setting flags :  
Code:
combineany=1
splitsize=n
combinelimit=n
You can control how your wallet handles staking, including if it will automatically combine dust from other addresses.
thank you for your reply, can you please tell me where i can find the list of all available settings?

A good resource for runtime commands can be found with a simple:
Code:
help
 
In the console. 
 
Command-line flags/options can be seen in the GUI here: 
Console(sidebar)->Information(tab)->Command-line options
 
 
If you are more of a 'code is documentation' type of person, this might be a good resource for you: 
https://github.com/nochowderforyou/clams/blob/master/src/init.cpp#L181
sr. member
Activity: 261
Merit: 250
I ended up changing the hot wallet client code such that it never spends the dust outputs, but instead merges them whenever the wallet stakes. That is free to do, and so the cost of handling the dust is passed on to all the full nodes in terms of bandwidth and storage, but at least the UTXO set isn't being polluted.

Here's an example of a staking transaction tidying up a bunch of faucet dust.

hi dooglus,
will this be included in the official wallet?

I am not certain what method dooglus is using on Just-Dice, though I expect he using the commit that is already incorporated into the client.  
  
By setting flags :  
  
Code:
combineany=1
splitsize=n
combinelimit=n
 
You can control how your wallet handles staking, including if it will automatically combine dust from other addresses.

thank you for your reply, can you please tell me where i can find the list of all available settings?
hero member
Activity: 784
Merit: 1002
CLAM Developer
I ended up changing the hot wallet client code such that it never spends the dust outputs, but instead merges them whenever the wallet stakes. That is free to do, and so the cost of handling the dust is passed on to all the full nodes in terms of bandwidth and storage, but at least the UTXO set isn't being polluted.

Here's an example of a staking transaction tidying up a bunch of faucet dust.

hi dooglus,
will this be included in the official wallet?

I am not certain what method dooglus is using on Just-Dice, though I expect he using the commit that is already incorporated into the client. 
 
By setting flags : 
 
Code:
combineany=1
splitsize=n
combinelimit=n
 
You can control how your wallet handles staking, including if it will automatically combine dust from other addresses.
sr. member
Activity: 261
Merit: 250
I ended up changing the hot wallet client code such that it never spends the dust outputs, but instead merges them whenever the wallet stakes. That is free to do, and so the cost of handling the dust is passed on to all the full nodes in terms of bandwidth and storage, but at least the UTXO set isn't being polluted.

Here's an example of a staking transaction tidying up a bunch of faucet dust.

hi dooglus,
will this be included in the official wallet?
sr. member
Activity: 490
Merit: 256
Noob question: with 10 CLAM how long am I supposed to wait (on average) to stake anything?

If you run "getstakinginfo" in the client's debug window it will show you something like this:

Quote
$ clamd getstakinginfo
{
  "enabled" : true,
  "staking" : true,
  "errors" : "",
  "currentblocksize" : 1000,
  "currentblocktx" : 0,
  "pooledtx" : 0,
  "difficulty" : 139725.8096014384,
  "search-interval" : 16,
  "weight" : 21368.11582037,
  "netstakeweight" : 1508267.639858975,
  "expectedtime" : 4508
}

The 'weight' is the number of CLAMs your wallet is staking.
The 'expectedtime' is the expected number of seconds until your next stake.

The above wallet has 21k CLAMs and should stake every 4.5k seconds.

Extrapolating from that, 10 CLAMs should stake every 4.5k * 21k / 10 = 9450000 seconds = 109 days.

A general rule of thumb is that you need around 1000 CLAMs to stake once per day, so it makes sense that if you have 100 times less than 1000 CLAMs it will take 100 times more than 1 day. Also, that 1000 CLAMs number is probably out of date now. It goes up as more CLAMs are staked.

Thank you for the thorough explanation, dooglus.
sr. member
Activity: 1092
Merit: 256
i have some old btc wallet addres, can i still get free clam from dig
and how step to step for claiming? thanks

Come one dude you should going to Just-dice.com and you can see the command there and you can ask question whatever you need Wink
member
Activity: 64
Merit: 20
It seems the faucet is mostly sending outputs of 0.0001 CLAMs, worth roughly a hundredth of a US cent each. I was wondering how best to deal with it. It costs more to spend than it is worth, and so the logical response is to never spend it, and to set a minimum deposit amount. Any deposit less than the minimum would be considered a donation. I ended up changing the hot wallet client code such that it never spends the dust outputs, but instead merges them whenever the wallet stakes. That is free to do, and so the cost of handling the dust is passed on to all the full nodes in terms of bandwidth and storage, but at least the UTXO set isn't being polluted.

Here's an example of a staking transaction tidying up a bunch of faucet dust.

I spoke to Kef about the dust from the faucet. I recognize that it makes no sense to ask people to stop spamming the blockchain. Maybe Kef/BAC would comply, but the next guy might not. We can't trust that CLAM users are going to be responsible. Better to limit the "damage" they can do, if such limiting is needed. Currently I'm not sure it is. Individual recipients of the dust can refuse to honor the tiny deposits if they don't want to deal with it, and maybe that's enough. If there ended up being enough dust that the blocks fill up a fee market will presumably develop, as it did in Bitcoin.

Personally I wasn't going to even bring the subject up, other than asking Kef if he can aggregate users payings into larger amounts and set a minimum withdrawal amount for the site. But since both the faucet and the subject of fees preventing spam both came up in this thread recently I figured I would mention it.

Edit: I should probably be clear that I have no problem with the faucet site. It's just that a lot of its outputs end up at Just-Dice, and they had been causing technical trouble until I found a way of dealing with them. They'll still be bloating the chain and the Just-Dice hot wallet, but not the UTXO set any more.

Unfortunately, the two biggest factors in this problem are results of features we advertise:

1. No waiting for payouts.
2. Instant commission for referrals.

In other words: We send a payout every minute as long as the previous payout has a confirmation, and we pay commission in the same transaction that we pay a referral in. We also consolidate outputs to the same address into one output for each transaction.

We may be able to come up with some feature in which a user consents to not receiving the payouts so quickly, maybe in exchange for a small bonus. The first problem I see with that is that we don't give users wallets, they give us an address. So you could enter someone else's address and they wouldn't get what they expect, etc. In the meantime, our payout transactions have ClamSpeeches starting with "FreeBitcoins.com payout ", in case any service wants an easy filter.
hero member
Activity: 490
Merit: 500
i have some old btc wallet addres, can i still get free clam from dig
and how step to step for claiming? thanks
hero member
Activity: 784
Merit: 1002
CLAM Developer
Considerate of you to ask. In the absence of either sanctions or penalties, objectors are impotent.
You're not the only one seeking independence from corporate overreach, others see the same need:
https://github.com/elendirx/web2web/

An interesting spin on some of the ideas around DNS and such. 
With the open source chromium browser, I don't imagine it would be very difficult to implement such a feature directly into the address bar, i.e. typing the address into the address bar. 
 
The only warning I would personally offer would be that eventually, in order to prevent spam, transaction fees are likely to be handled differently in the future.

It's interesting that you say that. I was thinking about fees recently when I noticed that the Just-Dice hot wallet was full of tiny unspent outputs, and that the wallet server was pegged at 100% disk write.
 
 
Indeed. 
This hadn't escaped my notice. 
legendary
Activity: 2940
Merit: 1333
Noob question: with 10 CLAM how long am I supposed to wait (on average) to stake anything?

If you run "getstakinginfo" in the client's debug window it will show you something like this:

Quote
$ clamd getstakinginfo
{
  "enabled" : true,
  "staking" : true,
  "errors" : "",
  "currentblocksize" : 1000,
  "currentblocktx" : 0,
  "pooledtx" : 0,
  "difficulty" : 139725.8096014384,
  "search-interval" : 16,
  "weight" : 21368.11582037,
  "netstakeweight" : 1508267.639858975,
  "expectedtime" : 4508
}

The 'weight' is the number of CLAMs your wallet is staking.
The 'expectedtime' is the expected number of seconds until your next stake.

The above wallet has 21k CLAMs and should stake every 4.5k seconds.

Extrapolating from that, 10 CLAMs should stake every 4.5k * 21k / 10 = 9450000 seconds = 109 days.

A general rule of thumb is that you need around 1000 CLAMs to stake once per day, so it makes sense that if you have 100 times less than 1000 CLAMs it will take 100 times more than 1 day. Also, that 1000 CLAMs number is probably out of date now. It goes up as more CLAMs are staked.
legendary
Activity: 2940
Merit: 1333
Additionally, last I knew, the Just-Dice trollbox was posting random chat-lines as well.  

It still does that.

The only warning I would personally offer would be that eventually, in order to prevent spam, transaction fees are likely to be handled differently in the future.

It's interesting that you say that. I was thinking about fees recently when I noticed that the Just-Dice hot wallet was full of tiny unspent outputs, and that the wallet server was pegged at 100% disk write. It seems the faucet testing referred to here is responsible for most of the dust I'm seeing:

Looking for more CLAM faucet testers for FreeBitcoins.com

It seems the faucet is mostly sending outputs of 0.0001 CLAMs, worth roughly a hundredth of a US cent each. I was wondering how best to deal with it. It costs more to spend than it is worth, and so the logical response is to never spend it, and to set a minimum deposit amount. Any deposit less than the minimum would be considered a donation. I ended up changing the hot wallet client code such that it never spends the dust outputs, but instead merges them whenever the wallet stakes. That is free to do, and so the cost of handling the dust is passed on to all the full nodes in terms of bandwidth and storage, but at least the UTXO set isn't being polluted.

Here's an example of a staking transaction tidying up a bunch of faucet dust.

[Edit: another example, this time from an old hot wallet that is no longer staking; people apparently set an address in the faucet then forget about it, causing an endless torrent of blockchain spam for others to clean up]

I spoke to Kef about the dust from the faucet. I recognize that it makes no sense to ask people to stop spamming the blockchain. Maybe Kef/BAC would comply, but the next guy might not. We can't trust that CLAM users are going to be responsible. Better to limit the "damage" they can do, if such limiting is needed. Currently I'm not sure it is. Individual recipients of the dust can refuse to honor the tiny deposits if they don't want to deal with it, and maybe that's enough. If there ended up being enough dust that the blocks fill up a fee market will presumably develop, as it did in Bitcoin.

Personally I wasn't going to even bring the subject up, other than asking Kef if he can aggregate users payings into larger amounts and set a minimum withdrawal amount for the site. But since both the faucet and the subject of fees preventing spam both came up in this thread recently I figured I would mention it.

Edit: I should probably be clear that I have no problem with the faucet site. It's just that a lot of its outputs end up at Just-Dice, and they had been causing technical trouble until I found a way of dealing with them. They'll still be bloating the chain and the Just-Dice hot wallet, but not the UTXO set any more.
legendary
Activity: 2940
Merit: 1333
I was wondering if you could post an updated version of the bootstrap. The one linked above is 2 years old.

Check it again:

I made an updated bootstrap.dat file for people having trouble syncing their client.

It goes up to block 1326600 which was staked on Thu Jan  5 18:38:24 UTC 2017.

That's just 3 days ago.
sr. member
Activity: 490
Merit: 256
Noob question: with 10 CLAM how long am I supposed to wait (on average) to stake anything?
legendary
Activity: 2254
Merit: 1290
Would there be any objection by the Clams devs/stakeholders to me trying to do this?

Considerate of you to ask. In the absence of either sanctions or penalties, objectors are impotent.

You're not the only one seeking independence from corporate overreach, others see the same need:

https://github.com/elendirx/web2web/

Quote
How It Works

This repo contains two HTML files:

index.html is responsible for loading the webpage from torrent,
webpage.html is the actual webpage.
When you open index.html in the browser (live demo), here's what happens:

Bitcoin address 1DhDyqB4xgDWjZzfbYGeutqdqBhSF7tGt4 is searched for the latest outgoing transaction containing OP_RETURN script. Inside the script there is a torrent infohash of webpage.html.
webpage.html is downloaded from torrent via webtorrent and displayed.
How Is It Updated

To perform serverless updates, torrent of the updated webpage.html is created and its infohash is inserted into new bitcoin transaction sent from 1DhDyqB4xgDWjZzfbYGeutqdqBhSF7tGt4 address.

How Is It Domainless

Save the index.html to your PC and open it from localhost. It will still work and receive updates.

In the example, the tx data containing the torrenthash is retrieved from a Bitcoin API service. “All” that would be required to make this work with CLAMs is a server to provide the same API for the CLAMs blockchain (assuming dooglus isn't already providing it).

Publishing by torrent is something of an interim measure. Less, ah, informal solutions are being developed: SOLID, IPFS amongst others.

Cheers

Graham
hero member
Activity: 784
Merit: 1002
CLAM Developer
I'm glad to see Clams is still going.
I've been thinking about trying to use clamSpeech to provide the backbone for some kind of censorship-resistant discussion forum, something like reddit/twitter. It seems like there are hard pushes for censorship the past year or two. (My twitter account recently got suspended, so now I have the motivation of revenge.)
Would there be any objection by the Clams devs/stakeholders to me trying to do this? It could potentially land people who stake Clams in legal trouble if they are in countries that punish expression of certain ideas. And let's face it, at this point that's every country.

Though rather mundane, political/religious affiliation/speech is already added to every transaction by default (though it can be changed by the user). 
 
Additionally, last I knew, the Just-Dice trollbox was posting random chat-lines as well. 
 
The only warning I would personally offer would be that eventually, in order to prevent spam, transaction fees are likely to be handled differently in the future.
hero member
Activity: 518
Merit: 500
Islam and Nazism are belief systems, not races.
I'm glad to see Clams is still going.

I've been thinking about trying to use clamSpeech to provide the backbone for some kind of censorship-resistant discussion forum, something like reddit/twitter. It seems like there are hard pushes for censorship the past year or two. (My twitter account recently got suspended, so now I have the motivation of revenge.)

Would there be any objection by the Clams devs/stakeholders to me trying to do this? It could potentially land people who stake Clams in legal trouble if they are in countries that punish expression of certain ideas. And let's face it, at this point that's every country.
sr. member
Activity: 490
Merit: 256
I was wondering if you could post an updated version of the bootstrap. The one linked above is 2 years old.

If you are referencing the one dooglus maintains it is most certainly not 2 years 'old'. 
He usually updates it about once a month.

In that case, all is fine. I based my assumption on the post date. Thanks for the info. (still 'importing blocks'...)
Jump to: