August 24, 2019, 10:13:40 am

Author Topic: TestNet for GoldCoin Client Upgrade  (Read 4742 times)

0 Members and 1 Guest are viewing this topic.

Offline Stouse49

  • Gold Engineer
  • DevTeam
  • *****
  • Posts: 711
  • Karma: +66/-0
    • View Profile
TestNet for GoldCoin Client Upgrade
« on: December 31, 2017, 08:24:37 pm »
There are two versions to use in the testnet.
  • The Old Client - 0.7.5
  • The New Client - 0.14.2

Install the software
The install packages are zip files.  They contain the programs and folders that will be used for the blockchain.  It doesn't interfere with other wallets on your system.  Unzip these folders where you want and run the "1. start-client" command.  Other commands such as mining may be present in the packages.   If you delete the package after unzipping and running the client, you will loose your wallet.

Windows
old - https://github.com/Stouse49/goldcoin/releases/download/vv0.7.5.0-testnet/Windows.GoldCoin.0.7.5.TestNet.zip
new -

Mac
old - https://github.com/Stouse49/goldcoin/releases/download/vv0.7.5.0-testnet/Mac.GoldCoin.0.7.5.TestNet.zip (may not connect)
new -

Linux

Mining
Information to be added later.

Super Users (Exchanges, Mining Pools, etc)

Source Code:
oldhttps://github.com/Stouse49/goldcoin [branch = testnet]
Build instructions: https://www.goldcointalk.org/index.php?topic=3764.msg18102#msg18102

newhttps://github.com/Stouse49/Goldcoin-GLD [branch = testnet]
Build instructions:  https://github.com/goldcoin/Goldcoin-GLD/tree/goldcoin-master/doc

Mining
old - solo - https://github.com/pooler/cpuminer,
Code: [Select]
$ minerd -o 127.0.0.1:<rpc port, default=18121> -u <user> -p <password> -t <threads, such as 2>new - Solo - https://github.com/mikeghen/litecoin-solo-mining-tutorial

server.js - example
Code: [Select]
var myCoin = {
    "name": "Goldcoin",
    "symbol": "GLD",
    "algorithm": "scrypt",
     "peerMagic": "fdc2b4dd",
     "peerMagicTestnet": "fcc5b4dd"
};

var Stratum = require('stratum-pool');

var pool = Stratum.createPool({

    "coin": myCoin,

    "auxes": [],

    "address": "n33ZW9SXvtCXRvsP7gjQqYFaEwxwpXoWpC", //Address to where block rewards are given

    /* Block rewards go to the configured pool wallet address to later be paid out to miners,
       except for a percentage that can go to, for examples, pool operator(s) as pool fees or
       or to donations address. Addresses or hashed public keys can be used. Here is an example
       of rewards going to the main pool op, a pool co-owner, and NOMP donation. */
    // "rewardRecipients": {
    //     "n37vuNFkXfk15uFnGoVyHZ6PYQxppD3QqK": 1.5, //1.5% goes to pool op
    //     "mirj3LtZxbSTharhtXvotqtJXUY7ki5qfx": 0.5, //0.5% goes to a pool co-owner
    // },

    "blockRefreshInterval": 1000, //How often to poll RPC daemons for new blocks, in milliseconds


    /* Some miner apps will consider the pool dead/offline if it doesn't receive anything new jobs
       for around a minute, so every time we broadcast jobs, set a timeout to rebroadcast
       in this many seconds unless we find a new job. Set to zero or remove to disable this. */
    "jobRebroadcastTimeout": 55,

    /* Some attackers will create thousands of workers that use up all available socket connections,
       usually the workers are zombies and don't submit shares after connecting. This features
       detects those and disconnects them. */
    "connectionTimeout": 1200, //Remove workers that haven't been in contact for this many seconds

    /* Sometimes you want the block hashes even for shares that aren't block candidates. */
    "emitInvalidBlockHashes": false,

    /* Enable for client IP addresses to be detected when using a load balancer with TCP proxy
       protocol enabled, such as HAProxy with 'send-proxy' param:
       http://haproxy.1wt.eu/download/1.5/doc/configuration.txt */
    "tcpProxyProtocol": false,

    /* If a worker is submitting a high threshold of invalid shares we can temporarily ban their IP
       to reduce system/network load. Also useful to fight against flooding attacks. If running
       behind something like HAProxy be sure to enable 'tcpProxyProtocol', otherwise you'll end up
       banning your own IP address (and therefore all workers). */
    "banning": {
        "enabled": true,
        "time": 600, //How many seconds to ban worker for
        "invalidPercent": 50, //What percent of invalid shares triggers ban
        "checkThreshold": 500, //Check invalid percent when this many shares have been submitted
        "purgeInterval": 300 //Every this many seconds clear out the list of old bans
    },

    /* Each pool can have as many ports for your miners to connect to as you wish. Each port can
       be configured to use its own pool difficulty and variable difficulty settings. varDiff is
       optional and will only be used for the ports you configure it for. */
    "ports": {
        "3333": { //A port for your miners to connect to
            "diff": 32, //the pool difficulty for this port

            /* Variable difficulty is a feature that will automatically adjust difficulty for
               individual miners based on their hashrate in order to lower networking overhead */
            "varDiff": {
                "minDiff": 8, //Minimum difficulty
                "maxDiff": 512, //Network difficulty will be used if it is lower than this
                "targetTime": 15, //Try to get 1 share per this many seconds
                "retargetTime": 90, //Check to see if we should retarget every this many seconds
                "variancePercent": 30 //Allow time to very this % from target without retargeting
            }
        },
        "3256": { //Another port for your miners to connect to, this port does not use varDiff
            "diff": 256 //The pool difficulty
        }
    },

    /* Recommended to have at least two daemon instances running in case one drops out-of-sync
       or offline. For redundancy, all instances will be polled for block/transaction updates
       and be used for submitting blocks. Creating a backup daemon involves spawning a daemon
       using the "-datadir=/backup" argument which creates a new daemon instance with it's own
       RPC config. For more info on this see:
          - https://en.bitcoin.it/wiki/Data_directory
          - https://en.bitcoin.it/wiki/Running_bitcoind */
    "daemons": [
        {   //Main daemon instance
            "host": "127.0.0.1",
            "port": 19332,
            "user": "Stouse49",
            "password": "x"
        }
        // {   //Backup daemon instance
        //     "host": "127.0.0.1",
        //     "port": 19344,
        //     "user": "litecoinrpc",
        //     "password": "testnet"
        // }
    ],


    /* This allows the pool to connect to the daemon as a node peer to receive block updates.
       It may be the most efficient way to get block updates (faster than polling, less
       intensive than blocknotify script). It requires the additional field "peerMagic" in
       the coin config. */
    "p2p": {
        "enabled": false,

        /* Host for daemon */
        "host": "127.0.0.1",

        /* Port configured for daemon (this is the actual peer port not RPC port) */
        "port": 18121,

        /* If your coin daemon is new enough (i.e. not a [beep]coin) then it will support a p2p
           feature that prevents the daemon from spamming our peer node with unnecessary
           transaction data. Assume its supported but if you have problems try disabling it. */
        "disableTransactions": true

    }

}, function(ip, port , workerName, password, callback){ //stratum authorization function
    console.log("Authorize " + workerName + ":" + password + "@" + ip);
    callback({
        error: null,
        authorized: true,
        disconnect: false
    });
});

pool.on('share', function(isValidShare, isValidBlock, data){

    if (isValidBlock)
        console.log('Block found');
    else if (isValidShare)
        console.log('Valid share submitted');
    else if (data.blockHash)
        console.log('We thought a block was found but it was rejected by the daemon');
    else
        console.log('Invalid share submitted')

    console.log('share data: ' + JSON.stringify(data));
});

pool.on('log', function(severity, logKey, logText){
    console.log(severity + ': ' + '[' + logKey + '] ' + logText);
});

console.log("Starting Pool")
pool.start();
console.log("Pool started", pool)
« Last Edit: February 01, 2018, 11:36:59 pm by Stouse49 »
GLD: E1A6WogjpqU3KjjoRUD63f7kofrFozmyfg

Offline Stouse49

  • Gold Engineer
  • DevTeam
  • *****
  • Posts: 711
  • Karma: +66/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #1 on: January 04, 2018, 01:56:29 am »
Join the TestNet now.  Download and run both Clients on your system.  Start Mining.

Build from the source!
GLD: E1A6WogjpqU3KjjoRUD63f7kofrFozmyfg

Offline stemis

  • Legendary
  • *****
  • Posts: 211
  • Karma: +16/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #2 on: January 04, 2018, 06:11:10 am »
I'll try compiling for Linux (Fedora) this weekend.

Offline MicroGuy

  • @realMicroGuy
  • Administrator
  • *****
  • Posts: 3447
  • Karma: +47/-0
  • "Shoot for the Stars!"
    • View Profile
    • MicroGuy.com
Re: TestNet for GoldCoin Client Upgrade
« Reply #3 on: January 04, 2018, 04:53:09 pm »
I now have 2 Windows machines running clients for the Testnet.

Machine A is mining with the new client and Machine B is running the old client. I have successfully sent coins from the new client to the old client, but have not yet been able to send coins from the old client to the new client.
« Last Edit: January 04, 2018, 05:04:53 pm by MicroGuy »
"The heart of any cryptocurrency can be found in the spirit of its community."

Offline Stouse49

  • Gold Engineer
  • DevTeam
  • *****
  • Posts: 711
  • Karma: +66/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #4 on: January 05, 2018, 12:53:08 am »
I now have 2 Windows machines running clients for the Testnet.

Machine A is mining with the new client and Machine B is running the old client. I have successfully sent coins from the new client to the old client, but have not yet been able to send coins from the old client to the new client.

Our latest fixes for the clients (Windows):
1.  old-fix missing library file for miner to work
2.  new-fix several things.  (i) allow free transactions to be relayed.  (ii) allow free transactions to be mined.  (iii) allow old client transactions to be received and mined.
GLD: E1A6WogjpqU3KjjoRUD63f7kofrFozmyfg

Offline MicroGuy

  • @realMicroGuy
  • Administrator
  • *****
  • Posts: 3447
  • Karma: +47/-0
  • "Shoot for the Stars!"
    • View Profile
    • MicroGuy.com
Re: TestNet for GoldCoin Client Upgrade
« Reply #5 on: January 05, 2018, 04:43:38 pm »
Thank you Eric for these latest fixes. After updating my machines with the latest builds, the previously stuck transactions cleared. I'm now able to send coins back and forth in both directions. :)

~~

PSA: If anyone would like me to send them some free test coins, please post your Testnet client address below.
"The heart of any cryptocurrency can be found in the spirit of its community."

Offline stemis

  • Legendary
  • *****
  • Posts: 211
  • Karma: +16/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #6 on: January 07, 2018, 12:39:35 am »
GoldCoin Core (test) Successfully installed on Fedora 26!
Send 'test' GLD to:  E72nS8HEMEQgVMhtR3d2xjqsHUpHvoU9sd

Offline MicroGuy

  • @realMicroGuy
  • Administrator
  • *****
  • Posts: 3447
  • Karma: +47/-0
  • "Shoot for the Stars!"
    • View Profile
    • MicroGuy.com
Re: TestNet for GoldCoin Client Upgrade
« Reply #7 on: January 07, 2018, 08:58:38 am »
GoldCoin Core (test) Successfully installed on Fedora 26!
Send 'test' GLD to:  E72nS8HEMEQgVMhtR3d2xjqsHUpHvoU9sd

That address is not a valid TestNet address. I think TestNet addresses should start with the letters "m" or "n".

Make sure your goldcoin.conf looks something like this:

Code: [Select]
server=1
testnet=1
rpcuser=goldcoinrpc
rpcpassword=changethis
rpcport=39332
addnode=168.235.108.201
addnode=64.234.57.12
addnode=98.148.130.49
addnode=24.143.94.171
addnode=66.112.169.240
addnode=18.216.202.150
port=38121
« Last Edit: January 07, 2018, 11:09:21 am by MicroGuy »
"The heart of any cryptocurrency can be found in the spirit of its community."

Offline cryptosolar

  • DreamTeam
  • *****
  • Posts: 728
  • Karma: +38/-0
  • - Leading light -
    • View Profile
    • https://www.goldcoin.org/
Re: TestNet for GoldCoin Client Upgrade
« Reply #8 on: January 07, 2018, 10:06:26 am »
I ve downloaded the 14.2 version, then i added the conf file to the windows folder which included the wallet.dat file, then the icon turned into green, which indicates the testnet :)

then i ve added nodes:

Code: [Select]
addnode 18.216.202.150:18121 onetry

received some coins and have send some coins.

Block explorer for testnet:
http://18.216.202.150:8001/richlist

pool will get added later in the day :)

my testnet address:
mmQN25o2TG4JAUX1q3rLFpiU4LGezGc2dm
GLD - The Gold Standard of Digital Currency - (Goldcoin.org)
#Community First  (gldcoin.in) Goldcoin India Project -
www.goldcoinpool.com / 1% fee // GLD E9gjbbzCMErqQ4cKGGEzaPNJBSszChhGyX

Offline Stouse49

  • Gold Engineer
  • DevTeam
  • *****
  • Posts: 711
  • Karma: +66/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #9 on: January 07, 2018, 11:06:16 am »
I ve downloaded the 14.2 version, then i added the conf file to the windows folder which included the wallet.dat file, then the icon turned into green, which indicates the testnet :)

If one downloads from the links above, they are setup for testnet already.  In fact, they are setup such that one can run both the new client and the old client on the same system without interfering with one another.

However, if one builds from the source, then extra configuration is required (creating goldcoin.conf with testnet=1, etc).
GLD: E1A6WogjpqU3KjjoRUD63f7kofrFozmyfg

Offline stemis

  • Legendary
  • *****
  • Posts: 211
  • Karma: +16/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #10 on: January 07, 2018, 12:30:51 pm »
Thanks MicroGuy; I've gotten as far as I can with trying to load the test client after using the config file. 
The error I received was:  'Failed to open mempool file from disk. Continuing anyway.'

I tried to copy the mempool.dat file over to the testnet folder, but am now stuck with the Gui screen of 'Loading the Wallet' and my testnet debug.log files shows 'Imported mempool transactions from disk: 0 successes, 0 failed, 0 expired'

So I'm currently stuck at the moment unable to proceed.  I'll keep looking for fixes, but the closest thing I could find was a bug from the bitcoin core wallet with the same issue - https://github.com/bitcoin/bitcoin/pull/9813

If anyone has ideas, let me know.

Offline Stouse49

  • Gold Engineer
  • DevTeam
  • *****
  • Posts: 711
  • Karma: +66/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #11 on: January 07, 2018, 05:30:43 pm »
Thanks MicroGuy; I've gotten as far as I can with trying to load the test client after using the config file. 
The error I received was:  'Failed to open mempool file from disk. Continuing anyway.'

I tried to copy the mempool.dat file over to the testnet folder, but am now stuck with the Gui screen of 'Loading the Wallet' and my testnet debug.log files shows 'Imported mempool transactions from disk: 0 successes, 0 failed, 0 expired'

So I'm currently stuck at the moment unable to proceed.  I'll keep looking for fixes, but the closest thing I could find was a bug from the bitcoin core wallet with the same issue - https://github.com/bitcoin/bitcoin/pull/9813

If anyone has ideas, let me know.

The mempool.dat file can be deleted.  It is a file that contains unconfirmed transactions, no client when first run will have that file in the data folder.  Was this error given before the client closed itself down?

On my systems, I also saw the message about the mempool file missing in the debug logs, but the clients ran without any issues.
GLD: E1A6WogjpqU3KjjoRUD63f7kofrFozmyfg

Offline stemis

  • Legendary
  • *****
  • Posts: 211
  • Karma: +16/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #12 on: January 07, 2018, 05:53:31 pm »
The client hangs and does not close itself down (Fedora).  The only display I get from the GUI is 'Loading Wallet'.  I will keep playing around with it and let you know. 
« Last Edit: January 07, 2018, 05:59:00 pm by stemis »

Offline 420moviez

  • Newbie
  • *
  • Posts: 1
  • Karma: +2/-0
  • =42O= FTW
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #13 on: January 07, 2018, 06:30:15 pm »
Thanks MicroGuy; I've gotten as far as I can with trying to load the test client after using the config file. 
The error I received was:  'Failed to open mempool file from disk. Continuing anyway.'

I tried to copy the mempool.dat file over to the testnet folder, but am now stuck with the Gui screen of 'Loading the Wallet' and my testnet debug.log files shows 'Imported mempool transactions from disk: 0 successes, 0 failed, 0 expired'

So I'm currently stuck at the moment unable to proceed.  I'll keep looking for fixes, but the closest thing I could find was a bug from the bitcoin core wallet with the same issue - https://github.com/bitcoin/bitcoin/pull/9813

If anyone has ideas, let me know.

i guess you are not one the testnet branch if you build the wallet from the github source. try a
Code: [Select]
git clone -b testnet https://github.com/Stouse49/Goldcoin-GLD.git or use
Code: [Select]
git checkout testnet and
Code: [Select]
git pull to get on the testnet branch in the Goldcoin-GLD directory. delete the .goldcoin/testnet4 directory and try again.

Offline stemis

  • Legendary
  • *****
  • Posts: 211
  • Karma: +16/-0
    • View Profile
Re: TestNet for GoldCoin Client Upgrade
« Reply #14 on: January 08, 2018, 09:12:46 pm »
For whatever reason my testnet GoldCoin client likes to 'hang' on Fedora.  I don't have a ton of time to work on it during the week so I may look at troubleshooting this weekend.  Also, I plan on trying a Windows 7 testnet client on an older PC.  Appreciate the support.