Pages:
Author

Topic: AnaLCoin | SHA256 | POW/POS | 300k coins | IN-WLT TRDNG ! | LAUNCHED !!! - page 3. (Read 54393 times)

legendary
Activity: 1517
Merit: 1042
@notsofast
Thanks for delving into the code to find the problem, and again in advance for working to fix it!
legendary
Activity: 1610
Merit: 1000
Crackpot Idealist
My friend Billotronic asked me to look at this coin for him to see whats up with it.

The staking code grabs the stake reward, and if the result is zero it returns false and no stake is found:
Code:
int64_t nReward = GetProofOfStakeReward(nCoinAge, nFees);
        if (nReward <= 0)
            return false;

I was able to verify that this is what was causing an otherwise good stake to fail.

The proof of stake reward code is very ugly and it is what is causing the chain to fail without transactions. I will show you a real example from the blockchain and the how the reward changes throughout this code. See my comments in red. This is a stake that happened with coin age = 1034
Code:
int64_t GetProofOfStakeReward(int64_t nCoinAge, int64_t nFees)
{
    int64_t nSubsidy = nCoinAge * COIN_YEAR_REWARD * 25 / (365 * 25 + 8); //2.5% per year interest compounded everytime we stake
    At this point nSubsidy = 8491185 (analtoshis)

Code:
    //first divide what we get by 100000000 so we don't have to write COIN all the time after it.
    //we multiply it by 100000000 later.
    nSubsidy /= 100000000;
Now nSubsidy is 0 because we can't make an integer smaller than 1.

Code:
    // 3 coins extra stake reward to give staking incentive 
    nSubsidy += 3;
now nSubsidy is 3
Code:
        //need more coins in the input to get the bigger rewards 
        if (nSubsidy < 10.010) nSubsidy = 0.010;
now nSubsidy is 0 again

Code:
       nSubsidy *= COIN;

       return nSubsidy + nFees;
It remains 0 until the fees are added to the subsidy at the very end. So if no one is paying transaction fees, then no stakes will happen.
   
This requires a hard fork to fix.


ah press, you are my hero!
newbie
Activity: 49
Merit: 0
PressTab, thank you, Billotronic, thanks again. PM sent.
Looks fairly straight forward to modify, but imagine there is a better POS solution.
I recommend a 2.25% POS/annum then a 0.01 POS post 300K blocks to keep the chain moving.
Bounty could be made available, or payment in leui of upgrade at some point when the coin becomes majorly profitable.
Thoughts anyone?

Yes i agree with the 2.25% after 300k.

Lets make the wallet upgrade a priority.
hero member
Activity: 1498
Merit: 506
PressTab, thank you, Billotronic, thanks again. PM sent.
Looks fairly straight forward to modify, but imagine there is a better POS solution.
I recommend a 2.25% POS/annum then a 0.01 POS post 300K blocks to keep the chain moving.
Bounty could be made available, or payment in leui of upgrade at some point when the coin becomes majorly profitable.
Thoughts anyone?
legendary
Activity: 1330
Merit: 1000
Blockchain Developer
My friend Billotronic asked me to look at this coin for him to see whats up with it.

The staking code grabs the stake reward, and if the result is zero it returns false and no stake is found:
Code:
int64_t nReward = GetProofOfStakeReward(nCoinAge, nFees);
        if (nReward <= 0)
            return false;

I was able to verify that this is what was causing an otherwise good stake to fail.

The proof of stake reward code is very ugly and it is what is causing the chain to fail without transactions. I will show you a real example from the blockchain and the how the reward changes throughout this code. See my comments in red. This is a stake that happened with coin age = 1034
Code:
int64_t GetProofOfStakeReward(int64_t nCoinAge, int64_t nFees)
{
    int64_t nSubsidy = nCoinAge * COIN_YEAR_REWARD * 25 / (365 * 25 + 8); //2.5% per year interest compounded everytime we stake
    At this point nSubsidy = 8491185 (analtoshis)

Code:
    //first divide what we get by 100000000 so we don't have to write COIN all the time after it.
    //we multiply it by 100000000 later.
    nSubsidy /= 100000000;
Now nSubsidy is 0 because we can't make an integer smaller than 1.

Code:
    // 3 coins extra stake reward to give staking incentive 
    nSubsidy += 3;
now nSubsidy is 3
Code:
        //need more coins in the input to get the bigger rewards 
        if (nSubsidy < 10.010) nSubsidy = 0.010;
now nSubsidy is 0 again

Code:
       nSubsidy *= COIN;

       return nSubsidy + nFees;
It remains 0 until the fees are added to the subsidy at the very end. So if no one is paying transaction fees, then no stakes will happen.
   
This requires a hard fork to fix.
hero member
Activity: 1498
Merit: 506
This post was inappropriate and posted during a time of personal and mental health issues, sorry.
hero member
Activity: 1498
Merit: 506
I would suggest that the wallet issue is fix first as it is not functioning as it should.

Is there anybody in the community with the knowledge to have a look and fix this wallet.

I agree wallet need to fix..

It's say 2 sec but never stake  Huh

Its manual at the moment. Send coins to trigger the next block. It should recognise the POS reward and kick of the next block but doesnt.

I've asked someone to take a look at the wallet, see if we can organise a small bounty if its fixed and recompiled.
legendary
Activity: 1638
Merit: 1013
I would suggest that the wallet issue is fix first as it is not functioning as it should.

Is there anybody in the community with the knowledge to have a look and fix this wallet.

I agree wallet need to fix..

It's say 2 sec but never stake  Huh

Its manual at the moment. Send coins to trigger the next block. It should recognise the POS reward and kick of the next block but doesnt.
sr. member
Activity: 348
Merit: 250
I would suggest that the wallet issue is fix first as it is not functioning as it should.

Is there anybody in the community with the knowledge to have a look and fix this wallet.

I agree wallet need to fix..

It's say 2 sec but never stake  Huh
newbie
Activity: 49
Merit: 0
I would suggest that the wallet issue is fix first as it is not functioning as it should.

Is there anybody in the community with the knowledge to have a look and fix this wallet.
hero member
Activity: 1498
Merit: 506
This post was inappropriate and posted during a time of personal and mental health issues, sorry.
hero member
Activity: 1498
Merit: 506
This post was inappropriate and posted during a time of personal and mental health issues, sorry.
hero member
Activity: 1498
Merit: 506
This post was inappropriate and posted during a time of personal and mental health issues, sorry.
member
Activity: 68
Merit: 10
ANALICIOUS GIVEAWAY!



Please contribute Analcoin to the following address for a FAUCET/GIVEAWAY to encourage people to use Analcoin. Probably 0.05 per person. I will donate 500 coins to this.
NEW FAUCET/GIVEAWAY DONATION ADDRESS: AG6wWbkuVu2aeRruEo3Tc7hg5eL6evFY2g
Giveaway to start around 4/4/2015




as promised send 1000 Anal for the Giveaway. --> 59efb49d182c86fda87cc9de49ed5a7ad7cfc91b37242f0f4bdc20d98d33dfff

@DEV --> If you have no time for edit ann etc., pls talk with Vanity - he did great community work! Come on Wink
hero member
Activity: 784
Merit: 503
Bitcoin King BTC
we must advertise this on datingsites so all the girls can see it, all the girls who like anal will buy this for sure then it will be madness, imagine millions of women buying analcoin because they just cant resist it.
hero member
Activity: 1498
Merit: 506
This post was inappropriate and posted during a time of personal and mental health issues, sorry.
legendary
Activity: 1638
Merit: 1013

away from my wallet, whats the problem?

The block chain is not moving along on autopilot to produce POS blocks every 40s or so as per the design. Only when coins are sent to another address does it trigger a POS block. If nothing is sent, the chain stands still. If Anal hodlers want to move their coins, it is currently a manual process whereby someone must send 20 coins or so to and fro from one address to another all the time so that the movement triggers POS blocks to be solved. Something is not right and the dev (or someone with coding knowledge) must fix this.
legendary
Activity: 1610
Merit: 1000
Crackpot Idealist
Roll Up, Roll Up, Anal For Sale! Get Your Anal Here! Roll Up!



https://yobit.net/en/trade/ANAL/BTC


Shit yeah!


Everyones going to have to be alot more active than this to get value in this crypto, im not doing it all... let's get some contribution going in a big way.

What can everyone bring to the party?

First of all the dev must fix the chain and wallet so that POS works properly.

away from my wallet, whats the problem?
newbie
Activity: 17
Merit: 0
By the way, Analcoin is now on Coinmarketcap - http://coinmarketcap.com/currencies/analcoin/ , you're welcome Wink

Wow, that's insane. What a strange place this world is.
member
Activity: 112
Merit: 10
What can everyone bring to the party?

Start with a big drum of lube and muscle relaxants I guess.  Grin
Pages:
Jump to: