March 23, 2019, 10:46:56 pm

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Stouse49

Pages: [1] 2 3
1
Project Development / GoldCoin TestNet Round #2 for the New Client
« on: February 02, 2018, 11:27:21 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 - https://github.com/Stouse49/Goldcoin-GLD/releases/download/v0.14.2.1-testnet-march/Windows.GoldCoin.Core.0.14.2.1.TestNet-march.zip

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)

2
Project Development / 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)

3
Project Development / GoldCoin Wallet for iOS (app): Testers Needed
« on: December 07, 2017, 11:20:09 pm »
If you are interested in testing the iOS app, please send me a PM with your email address and name.

The app reports Goldcoin in "g" which are 0.000001 GoldCoin.  This can be changed in settings / Local Currency and swipe left twice at the top.

4
Project Development / goldwallet - iOS Support Topic
« on: September 28, 2017, 12:26:11 am »
This link goes in the app for support.

5
Project Development / GoldCoin Lite Wallet
« on: August 25, 2017, 02:05:11 am »
Ideas for a GoldCoin Lite Wallet.  For open source projects, we could modify them for GoldCoin.  For the others, we would have to ask them to add Goldcoin:
1.  Multibit Classic
2.  Multibit HD
3.  Trezor
4.  Keepkey
5.  Jaxx (closed source)
6.  Exodus (closed source)
7.  Copay
8.  Electrum

1.  Multibit Classic - This is obsolete

2.  Multibit HD - https://multibit.org/ - Multibit is No Longer Supported
Advantages:
  • The source code still exists and uses a modification of bitcoinj  or in our case goldcoinj.
  • Backups would be fully compatible with the Goldcoin Wallet android app.
Disadvantages:
Since there is no dev team supporting this for Bitcoin, some bugs will never be fixed.  This is not a good starting point for us.

3.  Trezor
I am buying one of these.  Not sure if it will work with GoldCoin, but we can find out.  They have some kind of wallet software for it.
https://wallet.trezor.io/#/

4.  Keepkey
Not sure if it will work with GoldCoin, but we can find out.  They have some kind of wallet software for it.
https://chrome.google.com/webstore/detail/keepkey-client/idgiipeogajjpkgheijapngmlbohdhjg

5.  Jaxx (closed source)
We would have to ask them to be added to their software.  This is a multicoin, multiplatform wallet.
https://jaxx.io/


6.  Exodus (closed source)

We would have to ask them to be added to their software.  This is a multicoin, multiplatform wallet.
https://www.exodus.io/

7.  Copay
Requires a node.js developer who can set up the server and the client software, modifying it from the source.  Copay would support many platforms, but is very complicated software to modify.

8.  Electrum
Requires a python developer who can set up the server and the client software, modifying it from the source.  Also supports many platforms.

6
Project Development / GoldCoin - breadwallet for iOS
« on: July 04, 2017, 12:53:34 am »
Source Code:
https://github.com/Stouse49/goldcoin-breadwallet

Work has begun.  The coding is easy.  Apple approval is hard.

Current Status:  Translating Golden River Difficulty Adjustment to Objective C++.

7
Project Development / GoldCoin Node Counter
« on: March 12, 2017, 10:18:24 pm »
Another good tool to have for GoldCoin would be a node counter and a website like these for Bitcoin:
http://xtnodes.com/#all_nodes
https://bitnodes.21.co/

Source code for one counter is here:
https://github.com/ayeowch/bitnodes

8
Project Development / GoldCoin Mac Client
« on: March 06, 2017, 10:01:03 pm »
Mac Client Development has begun.

Minimum MacOS requirement:  10.9
Build Environment:  OSX 10.12.

Downloads
https://github.com/Stouse49/goldcoin/releases/download/v0.7.5.0-mac-qt4/GoldCoin-Qt-10.7-10.8.dmg - Now supports MacOS 10.7 and above.
https://github.com/Stouse49/goldcoin/releases/download/v0.7.5.0-mac-qt5/GoldCoin-Qt-10.12.dmg - Supports MacOS 10.9 and above.

Source Code:
https://github.com/Stouse49/goldcoin/ - This is a fork of the official GoldCoin repository at https://github.com/goldcoin/goldcoin/
Branches:  macOS-qt5 is for 10.9 and above, while macOS-qt4.8 is for 10.7 and above.


History:
1.  First Client (tested below) didn't run because it wasn't created properly
2.  Second Client (tested below) did run, but was missing QR Code support.
3.  Third Client (tested even further below) did run.
4.  QR Code support added
5.  Mac OS 10.7 support added.

Known Issues:
1.  Startup after syncing the blockchain is very slow.  Application will appear to not be responding.

9
Project Development / GoldCoin DNS Seed (useful for the Android App)
« on: February 11, 2017, 12:32:07 am »
For future development of the GoldCoin Network, especially if mobile app usage increases significantly, it will be very helpful to have one or more DNS Seeds.

A DNS Seed is a server that crawls the GoldCoin Network and compiles a list of active nodes that can be served to the Android App or other similar apps or programs.  This will prevent the app requiring updates to its list of active nodes.  It will simply ask the DNS Seeder to give it some nodes to connect to.

Go to https://chainz.cryptoid.info/gld/#!network and look at the network stats for the node used to run their block explorer for GoldCoin.  Most connections are the mobile app (3 versions).  If the number of app users increases into the thousands, then many may have connectivity issues.

The source code for the seeder is here:
https://github.com/sipa/bitcoin-seeder
https://bitcointalk.org/index.php?topic=599623.0

Is anyone interested in setting up a server for this?

10
Android App Support / GoldCoin Wallet v4.x
« on: June 13, 2016, 01:24:29 am »
Work has begun on the upgrade of the GoldCoin wallet.  The time to finish this sometime in July.
Here is the Beta Release:
https://github.com/Stouse49/goldcoin-wallet/releases/tag/v4.58.1-beta

Here is the source:
https://github.com/Stouse49/goldcoinj (release-0.14 branch) - This is the base Java Library.
https://github.com/Stouse49/goldcoin-wallet (master branch)

We won't be using the older source except for some custom code that is specific to GoldCoin.

Small donations (like 1-10 GLD) and replies to this thread will speed up the work on this project.


11
Service Discussion / BitSquare - Decentralized Bitcoin Exchange
« on: April 24, 2016, 01:00:49 am »
https://bitsquare.io/

Bitsquare is built for those who:

    Want to exchange a national currency such as dollars, euros, or yen for bitcoin.
    Want to exchange a wide range of alternative crypto currencies for bitcoin.
    Do not want to trust any exchange for holding your funds.
    Do not want to forfeit control or privacy to a central authority in order to trade with other individuals.
    Regard financial transactions as a form of private speech that should be protected from surveillance by banks, governments, and other institutions.

Bitsquare is designed to be:

    Decentralized – there is no single point of failure.
    Safe – Bitsquare never holds your funds.
    Instantly accessible – no need for approval from a central authority.
    Private -no one except trading partners exchange personally identifying data.
    Open – every aspect of the project is transparent.
    Easy – we take usability seriously.

12
Android App Support / Poll: Upgrading GoldCoin Wallet
« on: March 26, 2016, 11:53:54 am »
The GoldCoin Wallet app for Android is based on a Litecoin wallet made in 2013. 

Since then many improvements have been made.  New Features and Bug Fixes.  Look at the current Bitcoin Wallet for android to get an idea of the features that could be available.

Should we upgrade the app?

13
https://news.bitcoin.com/private-keys-vulnerable-to-new-android-ios-attack/

"Researchers from Tel Aviv University’s Laboratory for Experimental Information Security (LEISec) and The University of Adelaide have created an attack vector against Android and iOS devices. The invasion uses a $2 USD magnetic device to crack private keys held on these operating systems allowing the possible theft of users’ bitcoins and private data. "

The GoldCoin Wallet for Android may be vulnerable to this attack.  More to follow.

14
Digital Currency News / Cryptsy, GoldCoin's first exchange, is bankrupt
« on: January 15, 2016, 09:02:50 pm »
http://www.coindesk.com/cryptsy-bankruptcy-millions-bitcoin-stolen/

The exchange alleges in a newly released blog post that it was the target of a hack in July 2014, an incident that it said cost it approximately 13,000 BTC ($7.5m at the time) and approximately 300,000 LTC (then $2.08m).


15
Service Discussion / Cryptopia Status
« on: December 12, 2015, 04:19:14 am »
At Cryptopia (https://www.cryptopia.co.nz/) I am currently experiencing a delay in depositing GLD.

The balances page is reporting that there is a "difference in the block height of the current block."

We should be checking the status of these exchanges to see if deposits and withdrawals are working.  In several ceases I have encountered problems with various coins due to wallet maintenance or for other reasons.

Pages: [1] 2 3