• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

v0.10.17.x Testing

Status
Not open for further replies.
Do a "git fetch origin" then qmake && make . Looks like you're missing the tag.
Didn't work but that's alright. All the functionality like the "Instant X" option is present in QT nonetheless.

Oh and it's usually on my end anyway so no worries! ;)
 
****** PLEASE UPDATE TO v10.17.0 *******

- This supports a complete InstantX implementation. This implementation has teeth, the masternodes have the final say if a specific transaction will make it into the block. To do this, they can actually orphan conflicting blocks, up to five blocks deep if an attack happened. To pull off such an attack, the attacker would propagate a lock request, masternodes would form a lock, then the attacker would mine a conflicting transaction. With this implementation, that block will be orphaned.
- Current setting, requires 7 of 10 masternodes to form a lock
- Masternodes MUST have their port open, or they will be forced into an inactive state (not implemented yet)
- Each InstantX transaction will use a different set of masternodes. These are chosen based on the POW hash of the block that transaction was included in. This means you can't tamper with the masternodes you'll use, but the system can use all masternodes at once.
- Masternode network backwards compatibility, dsee/dseep messages now will be backwards/forwards compatible. Masternodes in the list will have protocol versions, so the code will know which are compatible with their versions.
- Gradual forced masternode updates, the network will now support paying out-of-date masternode versions for a period of time while allowing the network to update. Each update will have a deadline (probably 1 week after an update is released) before payments stop. This means the network could support multiple versions of Darksend at once, which is ideal.
- Support "min protocol version" for Darksend, allowing mixing between different versions of compatible protocols.
- New parameter -masternodeminprotocol = Only track masternodes beyond this version
- New parameter -wallet = Use a wallet other than wallet.dat (UdjinM6)
- New command "masternode list protocol"
- Wallet will stay locked during Darksend and only be able to mix (UdjinM6)
- Improved CalculateScore, using a much harder to trick calculation

Code:
// Deterministically calculate a given "score" for a masternode depending on how close it's hash is to
// the proof of work for that block. The further away they are the better, the furthest will win the election
// and get paid this block
//
uint256 CMasterNode::CalculateScore(int mod, int64 nBlockHeight)
{
    if(pindexBest == NULL) return 0;

    uint256 hash = 0;
    if(!darkSendPool.GetLastValidBlockHash(hash, mod, nBlockHeight)) return 0;
    uint256 hash2 = HashX11(BEGIN(hash), END(hash));

    // we'll make a 4 dimensional point in space
    // the closest masternode to that point wins
    uint64 a1 = hash2.Get64(0);
    uint64 a2 = hash2.Get64(1);
    uint64 a3 = hash2.Get64(2);
    uint64 a4 = hash2.Get64(3);

    //copy part of our source hash
    int i1, i2, i3, i4;
    i1=0;i2=0;i3=0;i4=0;
    memcpy(&i1, &a1, 1);
    memcpy(&i2, &a2, 1);
    memcpy(&i3, &a3, 1);
    memcpy(&i4, &a4, 1);

    //split up our mn hash
    uint64 b1 = vin.prevout.hash.Get64(0);
    uint64 b2 = vin.prevout.hash.Get64(1);
    uint64 b3 = vin.prevout.hash.Get64(2);
    uint64 b4 = vin.prevout.hash.Get64(3);

    //move mn hash around
    b1 <<= (i1 % 64);
    b2 <<= (i2 % 64);
    b3 <<= (i3 % 64);
    b4 <<= (i4 % 64);

    // calculate distance between target point and mn point
    uint256 r = 0;
    r +=  (a1 > b1 ? a1 - b1 : b1 - a1);
    r +=  (a2 > b2 ? a2 - b2 : b2 - a2);
    r +=  (a3 > b3 ? a3 - b3 : b3 - a3);
    r +=  (a4 > b4 ? a4 - b4 : b4 - a4);

    /*
    LogPrintf(" -- MasterNode CalculateScore() n2 = %s \n", n2.ToString().c_str());
    LogPrintf(" -- MasterNode CalculateScore() vin = %s \n", vin.prevout.hash.GetHex().c_str());
    LogPrintf(" -- MasterNode CalculateScore() n3 = %s \n", n3.ToString().c_str());*/

    return r

How can you help?

- Run a masternode
- Point hashing power at my pool (I'm going to be attacking InstantX and will need most of the hashing power)
- Test InstantX

**** Downloads : v0.10.17.0 ***********************************

Source: https://github.com/darkcoin/darkcoin/tree/instantx

* compiling *

This is going to be good... :smile::smile::smile:

I'll set up a couple of test MNs shortly.

Walter
 
If anyone would like to send Instant X Transactions, here is my address: mtuET9MwFsL5jMWXwiN3Rdo1WyND7uG99q. Either through darksend or regular, I'm not picky.
 
Hell yeah
BxbT0uO.jpg
 
Official Twitter updated! Can I get some RTs? The world knows now! Let's do this!

Fire up the Darkcoin Anthem, and test away....

 
If anyone would like to send Instant X Transactions, here is my address: mtuET9MwFsL5jMWXwiN3Rdo1WyND7uG99q. Either through darksend or regular, I'm not picky.
I just sent you some tDRK to empty my old wallet on testnet. :)
 
I just sent you some tDRK to empty my old wallet on testnet. :)
The 216.51249981 one? I received it but that was 15 minutes ago. Since then I've dropped my connection count from >10 to 4 and haven't received a block since. The TX is at 0 confirmations.

Block count for my client is currently showing 70603 with 7 MN's.
 
How can you help?

- Point hashing power at my pool (I'm going to be attacking InstantX and will need most of the hashing power)

I have a 15 MH/s rig collecting dust and could point this to your pool for a couple of days.

Is this suitable, and if so, where's your pool?

flare 's "Testnet tools & resources" posting says "no pool available".
 
The 216.51249981 one? I received it but that was 15 minutes ago. Since then I've dropped my connection count from >10 to 4 and haven't received a block since. The TX is at 0 confirmations.

Block count for my client is currently showing 70603 with 7 MN's.
I'm seeing block count 70611 and 6 MN. The Tx is still at 0 confirm, same. What's going on?
 
It seems whenever I start a MN with the client, I'm disconnected from the other MN's.

Edit:

Code:
{
"amount" : 216.51249981,
"confirmations" : 0,
"txid" : "6d654812f6e2e5c18c3e6c2781dd529e57915eea35dcc75b6b805ab9906c4039",
"time" : 1417111882,
"timereceived" : 1417111882,
"details" : [
{
"account" : "Instant X Address",
"address" : "mtuET9MwFsL5jMWXwiN3Rdo1WyND7uG99q",
"category" : "receive",
"amount" : 216.51249981
}
]
}

The above transaction is still showing as 0 unconfirmed.
 
It seems whenever I start a MN with the client, I'm disconnected from the other MN's.

Edit:

Code:
{
"amount" : 216.51249981,
"confirmations" : 0,
"txid" : "6d654812f6e2e5c18c3e6c2781dd529e57915eea35dcc75b6b805ab9906c4039",
"time" : 1417111882,
"timereceived" : 1417111882,
"details" : [
{
"account" : "Instant X Address",
"address" : "mtuET9MwFsL5jMWXwiN3Rdo1WyND7uG99q",
"category" : "receive",
"amount" : 216.51249981
}
]
}

The above transaction is still showing as 0 unconfirmed.
I've got 6 confirmations now.
 
Propulsion sent 1DRK from the QT started with --instantxdepth=6 to mtuET9MwFsL5jMWXwiN3Rdo1WyND7uG99q

edit: recieved a bunch back, only 1 an an IX I think, QT still showing ? in no.of confirms...
 
Last edited by a moderator:
Status
Not open for further replies.
Back
Top