pow Archive - inoWRX - Software Engineering aus Bielefeld https://www.inowrx.de/tag/pow/ Softwareentwicklung, Hosting und IT-Consulting aus Bünde Thu, 25 Jan 2018 23:49:39 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.5 Blockchain-Glossar: Die wichtigsten Begriffe der neuen Technologie https://www.inowrx.de/blockchain-glossar-die-wichtigsten-begriffe-der-neuen-technologie/ https://www.inowrx.de/blockchain-glossar-die-wichtigsten-begriffe-der-neuen-technologie/#respond Mon, 22 Jan 2018 23:22:05 +0000 https://www.inowrx.de/?p=5606 Der Bitcoin, die Wallet, die Blockchain und der damit einhergehende Hype rund um Kryptowährungen sind in aller Munde. Viele Begrifflichkeiten, die zumeist im Netz kursieren sind nicht unbedingt geläufig. Welche Begriffe jeder kennen sollte, um wirklich mitreden zu können haben wir hier einmal niedergeschrieben.

Der Beitrag Blockchain-Glossar: Die wichtigsten Begriffe der neuen Technologie erschien zuerst auf inoWRX - Software Engineering aus Bielefeld.

]]>
.flex_column.av-av_one_full-15d750bd1b332b34c6e70b077ebbccdf{ border-radius:0px 0px 0px 0px; -webkit-border-radius:0px 0px 0px 0px; -moz-border-radius:0px 0px 0px 0px; }


Blockchain-Glossar: Die wichtigsten Begriffe der neuen Technologie


Der Bitcoin, die Wallet, die Blockchain und der damit einhergehende Hype rund um Kryptowährungen sind in aller Munde. Viele Begrifflichkeiten, die zumeist im Netz kursieren sind nicht unbedingt geläufig. Welche Begriffe jeder kennen sollte, um wirklich mitreden zu können haben wir hier einmal mit Hilfe unserer treuen Leserschaft festgehalten! Hinterlasst gern einen Kommentar falls ein Begriff in dieser Auflistung fehlt.

Blockchain Glossar
BegriffÜbersetzungDefinition / Erklärung
Alt-Coin / AltsCryptocoin that is not BitcoinAltcoins steht abgekürzt für alternative Coins beziehungsweise Kryptowährungen.
ATHAll-time highAllzeithoch
ATLAll-time lowAllzeittief
BearishExpecting the price to go downErwarten, dass der Preis sinkt
BullishExpecting the price to go upErwarten, dass der Preis steigt
CoinCryptocurrencyCoin, der meist im Zuge der Realisierung eines Projekts herausgegeben wird um mit diesem Coin einen Mehrwert zu schaffen.
ExchangeWechselstubePlattform zum Austausch von Kryptowährungen ⇄ Kryptowährungen oder Fiatgeld ⇄ Kryptowährung.
FiatYour local currencyGeld. Bargeld (Euro, Dollar etc.)
FOMOFear of missing outDie Angst vor dem nicht dabei sein
ForkCreating a new blockchain based on the current versionErstellen einer neuen Blockchain (zumeist auch neuer Währung) auf Basis einer bestehenden Blockchain (Bitcoin -> Bitcoin Cash)
FUDFear, Uncertainty and DoubtStarke Ablehnung meist durch Zweifel, Unwissenheit und mangelndes Vertrauen
FUDsterSomeone spreading FUDJemand der seine Ablehnung öffentlich preisgibt und andere von seiner Meinung überzeugen möchte.
HashrateMesskraft zum Vergleich von Berechnungszeiten zum minen der Kryptowährungen. (Das Messen der Rechenkraft eines Computers).
HODLHold On For Dear LifeHODL – the synonym for I’m out of money but too greedy to sell.
ICOInitial Coin OfferingAnleger erhalten bei einem ICO im Tausch von Kryptowährungen anteilig Anteile oder Rechte an einem Unternehmen.
MooningExtreme price increasesEtremer Preisanstieg (Oftmals verursacht durch P&D)
Mining
Mining-Pool
Cloud-Mining
Schürfen von Kryptowährungen nach (PoA, PoS, ….) alleine oder in einem Pool mit Vergütung nach prozentualer Beteilung.
P&DPump and DumpForm von Aktienbetrug mit gering kapitalisierten Titeln
Private-KeyDer Private Key, ist der Schlüssel zu einem Wallet um dieses zu öffnen und Geld zu versenden. Coins werden nicht in einer Wallet gespeichert. Diese werden an die Publicadresse gebunden und durch den Private Key verfügbar.
(Public)-AdresseÖffentliche AdresseÜber diese Adresse werden Coins gesendet & empfangen. Im Regelfall wird für jeden Empfangsvorgang eine neue Adresse genutzt!
PoA
PoB
PoC
PoS
PoW
Proof of Activity
Proof of Burn
Proof of Capacity
Proof of Stake
Proof of Work
SatoshiThe smallest unit of bitcoin availableKleinste verfügbare Einheit z.B. 0,0000001
ShitcoinEin Shitcoin ist ein Coin, der mit der Zeit wertloser wird, bis dieser nicht mehr gefragt ist.(Shitcoin tangiert gegen Null)
ScamMehr oder weniger offensichtlicher Betrug der Idee hinter einer Kryptowährung, eines Exchange oder sonstigen Dingen.
SeedBackup of the wallet in a human readable format that will last the life of the wallet. Use for recovery.Ein Seed ist ein für Menschen lesbares Format zur Wiederherstellung einer Wallet. Zumeist in Form von 12 bis 24 Wörtern. Mit diesem Seed erhält jeder Zugriff auf die Wallet und deren Kontostand.
TATechnical AnalysisTechnische Beurteilung eines Whitepapers
TokenTokens erhält man bei einem ICO im Tausch gegen eine Kryptowährung.Tokens sind vergleichbar mit digitalen Coupons, die beispielsweise zur Teilhabe an einem Unternehmen berechtigt.
WalletPlace to hold your cryptocoinsBrieftasche – Eine Wallet stellt den Zugriff zum Kontostand dar. Die Coins werden in der Blockchain „gespeichert“. Eine Wallet sichert den Zugriff auf diese Coins.
WhaleTrader with a lot of moneyTrader mit hohem Kapital / Geld
WhitepaperGibt eine Übersicht über Leistungen, Standards und Technik einer Kryptowährung / Idee
Hardware-Wallet
Trezor
Ledger
Speziell angefertigter USB-Stick nebst Firmware welcher die privaten Schlüssel in sicherer Form speichert. Es können je nach Ausführung viele verschiedene Währungen auf einer Hardware Wallet verwaltet und gespeichert werden.

Donations

  • BTC:

    16Dh4d8sdhUqQbKs9npWBf3nSU1igmL5yL
  • ETH:

    0xC3E4A9F95638c57a848C8dcE56f2A51D35c05340
  • LTC:

    LgiRVCJvbA1jNeQJv5uJCnZZMQGz5R2Y1K
  • XMR:

    48firQdjLmgKktZ96CVvb3Efe56GLkKiUG63M6bHsZWtiYYsLfg43TFR72G3RwJnLJ4d4fc6MkMfJi93yvDbNHV6BDwcs6L
  • IOTA:

    WGDKETHCNDAID9JPCIEEZFRGATAKMBRHKL9FT9GNJXLXEHLORDYBFLGGIVBMTNYI9WZAFBXDLLSUOENSDEFSKYSKBC
  • BCN:

    24ayJZ8hAzxgxAEYaaDAyhV8KH1QrRuzdZsGXFZw3xKaMj6b3cumuzMfNCezqRpKfLJf5dmANoy6uA2bGtZ3uT5fJHdE2cM


Der Beitrag Blockchain-Glossar: Die wichtigsten Begriffe der neuen Technologie erschien zuerst auf inoWRX - Software Engineering aus Bielefeld.

]]>
https://www.inowrx.de/blockchain-glossar-die-wichtigsten-begriffe-der-neuen-technologie/feed/ 0
Monero [XMR] Pool Mining – HowTo Install Monero Mining Pool on Linux Ubuntu https://www.inowrx.de/monero-xmr-pool-mining-howto-install-monero-mining-pool-on-linux-ubuntu/ https://www.inowrx.de/monero-xmr-pool-mining-howto-install-monero-mining-pool-on-linux-ubuntu/#comments Tue, 12 Dec 2017 18:28:21 +0000 https://www.inowrx.de/?p=5277 Bitcoin Alternative: Monero – Wie mine ich diesen Coin? Kryptowährungen sind in aller Munde, jeder möchte Sie, viele haben Sie. Doch wie kann ich ohne Kaufabsichten vom digitalen Coin profitieren? Lohnt sich das CPU / GPU Mining? Und wie kann ich hierbei am besten Profite erwirtschaften. Was ist ein Mining Pool und welchen Pool sollte […]

Der Beitrag Monero [XMR] Pool Mining – HowTo Install Monero Mining Pool on Linux Ubuntu erschien zuerst auf inoWRX - Software Engineering aus Bielefeld.

]]>
Bitcoin Alternative: Monero – Wie mine ich diesen Coin?

Kryptowährungen sind in aller Munde, jeder möchte Sie, viele haben Sie. Doch wie kann ich ohne Kaufabsichten vom digitalen Coin profitieren? Lohnt sich das CPU / GPU Mining? Und wie kann ich hierbei am besten Profite erwirtschaften. Was ist ein Mining Pool und welchen Pool sollte ich verwenden. in diesem Posting geben wir eine Schritt für Schritt Anleitung zum eigenen XMR Mining Pool.Dieses HowTo nutzt als Ausgangsbasis eine Linux Ubuntu Distribution der Version 14.X (64Bit) sowie basiert auf dem node-cryptonote-pool. Auch der etwas neuere cryptonote-forknote-pool kann mit dieser Anleitung genutzt werden.

High performance Node.js (with native C addons) mining pool for CryptoNote based coins such as Bytecoin, Monero, QuazarCoin, HoneyPenny, etc.. Comes with lightweight example front-end script which uses the pool’s AJAX API.

Ubuntu Monero Mining Pool Hosting

Inhalte:


Voraussetzungen

  • Ubuntu Version 14.4.x
  • Coin daemon(s) (Coin Wallet bspw. Monerod-Wallet)
  • Node.js v0.10+ (Dies ist eine alte Version) Version wie bspw.  8.x sind nicht lauffähig
  • Redis-Server key-value store v2.6+

Download & Installation der benötigten Software

Nachdem Ubuntu erfolgreich installiert und die Erstkonfiguration erfolgt ist benötigen wir zunächst noch einmal folgende Software:

1/5) Update der Paketlisten:

sudo apt-get update && apt-get upgrade

2/5) Installation der benötigten Tools:

apt-get install automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libboost-all-dev libgmp-dev make g++ git screen

Während die Tools installieren, kann in einem zweiten Terminal bereits damit begonnen werden die Monero-Software zu installieren. Wie das geht haben wir in einem separaten Blog Post detailliert beschrieben. Die Anleitung finden Sie hier.

3/5) Installation der Node.js Software in der Version 0.10+

Da es sich hierbei um eine doch sehr alte Version handelt, kann diese nicht über den Paketmanager installiert werden! Bitte unbedingt die folgenden Schritte beachten! Mit einer anderen Node.js Version kann die Installation unter Umständen abbrechen und wird daher sehr wahrscheinlich NICHT funktionieren!

wget https://nodejs.org/dist/latest-v0.10.x/node-v0.10.48-linux-x64.tar.gz

Nun installieren wir die passende Node.js Version durch die Eingabe folgender Befehle:

sudo tar -C /usr/local --strip-components 1 -xzf node-v0.10.48-linux-x64.tar.gz
# Nun folgen zwei symlinks:
sudo ls -l /usr/local/bin/node
sudo ls -l /usr/local/bin/npm

Node.js und npm ist nun erfolgreich in der richtigen Version installiert.

4/5) Installation des redis Key-Value Store

wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make

Durch optionale Eingabe von

make test

kann dieser Build auf die Richtigkeit überprüft werden.

Mit

make install

Beenden wir die Installation. Nun starten wir den Server durch Eingabe von:

redis-server

In einem zweiten Terminal geben wir

redis-cli ping

ein worauf wir ein PONG erhalten, wenn der Server erfolgreich gestartet wurde. Damit der spätere Miningserver ohne offene Terminalfenster arbeitet, installieren wir den Redis-Server als Systemdienst damit dieser nach etwaigen Neustarts weiterhin funktioniert und automatisch gestartet wird.

sudo mkdir /etc/redis
sudo mkdir -p /var/redis/6379

Nun kopieren wir das Init-Skript. Wir empfehlen die Nutzung des Ports als Dateiname. Bearbeitet diese Datei und achtet auf den richtigen Port! Ggf. den Port anpassen.

sudo cp utils/redis_init_script /etc/init.d/redis_6379

Nun kopieren wir das Redis-Configurationfile in unser Konfigurationsverzeichnis durch:

sudo cp redis.conf /etc/redis/6379.conf
nano /etc/redis/6379.conf

Bearbeitet die Konfigurationsdatei wie folgt:

  • Setze daemonize auf yes (standardmäßig ist es auf no eingestellt).
  • Setzen pidfile auf /var/run/redis_6379.pid (ändern Sie den Port bei Bedarf).
  • Ändern Sie den Port entsprechend. In unserem Beispiel wird es nicht benötigt, da der Standard Port bereits 6379 ist.
  • Lege logfile auf /var/log/redis_6379.log fest
  • Setze dir auf /var/redis/6379 (sehr wichtiger Schritt!)

Nun fügen wir unser Startskript hinzu und starten den Redis-Server

sudo update-rc.d redis_6379 defaults
sudo /etc/init.d/redis_6379 start

5/5) Installation der Pool-Software

git clone https://github.com/zone117x/node-cryptonote-pool.git pool
cd pool
npm update

Nachdem npm alle benötigen Module heruntergeladen und installiert hat, sollte die Pool-Software lauffähig installiert sein. Nun kopieren wir die standardmäßige Konfigurationsdatei und passen Sie nach Belieben an!

mv config_example.json config.json

Konfiguration: Erklärung und Definition der Konfigurationsdatei:

/* Used for storage in redis so multiple coins can share the same redis instance. */
"coin": "monero",

/* Used for front-end display */
"symbol": "XMR",

"logging": {

    "files": {

        /* Specifies the level of log output verbosity. This level and anything
           more severe will be logged. Options are: info, warn, or error. */
        "level": "info",

        /* Directory where to write log files. */
        "directory": "logs",

        /* How often (in seconds) to append/flush data to the log files. */
        "flushInterval": 5
    },

    "console": {
        "level": "info",
        /* Gives console output useful colors. If you direct that output to a log file
           then disable this feature to avoid nasty characters in the file. */
        "colors": true
    }
},

/* Modular Pool Server */
"poolServer": {
    "enabled": true,

    /* Set to "auto" by default which will spawn one process/fork/worker for each CPU
       core in your system. Each of these workers will run a separate instance of your
       pool(s), and the kernel will load balance miners using these forks. Optionally,
       the 'forks' field can be a number for how many forks will be spawned. */
    "clusterForks": "auto",

    /* Address where block rewards go, and miner payments come from. */
    "poolAddress": "48firQdjLmgKktZ96CVvb3Efe56GLkKiUG63M6bHsZWtiYYsLfg43TFR72G3RwJnLJ4d4fc6MkMfJi93yvDbNHV6BDwcs6L"

    /* Poll RPC daemons for new blocks every this many milliseconds. */
    "blockRefreshInterval": 1000,

    /* How many seconds until we consider a miner disconnected. */
    "minerTimeout": 900,

    "ports": [
        {
            "port": 3333, //Port for mining apps to connect to
            "difficulty": 100, //Initial difficulty miners are set to
            "desc": "Low end hardware" //Description of port
        },
        {
            "port": 5555,
            "difficulty": 2000,
            "desc": "Mid range hardware"
        },
        {
            "port": 7777,
            "difficulty": 10000,
            "desc": "High end hardware"
        }
    ],

    /* Variable difficulty is a feature that will automatically adjust difficulty for
       individual miners based on their hashrate in order to lower networking and CPU
       overhead. */
    "varDiff": {
        "minDiff": 2, //Minimum difficulty
        "maxDiff": 100000,
        "targetTime": 100, //Try to get 1 share per this many seconds
        "retargetTime": 30, //Check to see if we should retarget every this many seconds
        "variancePercent": 30, //Allow time to very this % from target without retargeting
        "maxJump": 100 //Limit diff percent increase/decrease in a single retargetting
    },

    /* Feature to trust share difficulties from miners which can
       significantly reduce CPU load. */
    "shareTrust": {
        "enabled": true,
        "min": 10, //Minimum percent probability for share hashing
        "stepDown": 3, //Increase trust probability % this much with each valid share
        "threshold": 10, //Amount of valid shares required before trusting begins
        "penalty": 30 //Upon breaking trust require this many valid share before trusting
    },

    /* If under low-diff share attack we can ban their IP to reduce system/network load. */
    "banning": {
        "enabled": true,
        "time": 600, //How many seconds to ban worker for
        "invalidPercent": 25, //What percent of invalid shares triggers ban
        "checkThreshold": 30 //Perform check when this many shares have been submitted
    },
    /* [Warning: several reports of this feature being broken. Proposed fix needs to be tested.] 
        Slush Mining is a reward calculation technique which disincentivizes pool hopping and rewards 
        'loyal' miners by valuing younger shares higher than older shares. Remember adjusting the weight!
        More about it here: https://mining.bitcoin.cz/help/#!/manual/rewards */
    "slushMining": {
        "enabled": false, //Enables slush mining. Recommended for pools catering to professional miners
        "weight": 300, //Defines how fast the score assigned to a share declines in time. The value should roughly be equivalent to the average round duration in seconds divided by 8. When deviating by too much numbers may get too high for JS.
        "lastBlockCheckRate": 1 //How often the pool checks the timestamp of the last block. Lower numbers increase load but raise precision of the share value
    }
},

/* Module that sends payments to miners according to their submitted shares. */
"payments": {
    "enabled": true,
    "interval": 600, //how often to run in seconds
    "maxAddresses": 50, //split up payments if sending to more than this many addresses
    "mixin": 3, //number of transactions yours is indistinguishable from
    "transferFee": 5000000000, //fee to pay for each transaction
    "minPayment": 100000000000, //miner balance required before sending payment
    "denomination": 100000000000 //truncate to this precision and store remainder
},

/* Module that monitors the submitted block maturities and manages rounds. Confirmed
   blocks mark the end of a round where workers' balances are increased in proportion
   to their shares. */
"blockUnlocker": {
    "enabled": true,
    "interval": 30, //how often to check block statuses in seconds

    /* Block depth required for a block to unlocked/mature. Found in daemon source as
       the variable CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW */
    "depth": 60,
    "poolFee": 1.8, //1.8% pool fee (2% total fee total including donations)
    "devDonation": 0.1, //0.1% donation to send to pool dev - only works with Monero
    "coreDevDonation": 0.1 //0.1% donation to send to core devs - only works with Monero
},

/* AJAX API used for front-end website. */
"api": {
    "enabled": true,
    "hashrateWindow": 600, //how many second worth of shares used to estimate hash rate
    "updateInterval": 3, //gather stats and broadcast every this many seconds
    "port": 8117,
    "blocks": 30, //amount of blocks to send at a time
    "payments": 30, //amount of payments to send at a time
    "password": "test" //password required for admin stats
},

/* Coin daemon connection details. */
"daemon": {
    "host": "127.0.0.1",
    "port": 18081
},

/* Wallet daemon connection details. */
"wallet": {
    "host": "127.0.0.1",
    "port": 8082
},

/* Redis connection into. */
"redis": {
    "host": "127.0.0.1",
    "port": 6379,
    "auth": null //If set, client will run redis auth command on connect. Use for remote db
}

Starten können wir den Pool nun durch die Eingabe von:

node init.js

Wir starten den Pool via Screen, um die Software im Hintergrund laufen zu lassen:

screen -S miningpool node init.js

Mit screen -r miningpool können wir nun jederzeit wieder per Terminal auf den Pool zugreifen. Mit STRG + A + D können wir den Tab wieder beenden.

Bereitstellen des Front-End

Inhalt folgt in kürze…

Einrichten von Nginx und Let’s Encrypt SSL

Wir benötigen einen bereits installieren Nginx-Webserver wie das geht könnt Ihr hier noch einmal im Detail nachlesen: Wie installiere ich einen Nginx-Webserver auf Ubuntu oder Debian

 

 

Donations

  • BTC:

    16Dh4d8sdhUqQbKs9npWBf3nSU1igmL5yL
  • ETH:

    0xC3E4A9F95638c57a848C8dcE56f2A51D35c05340
  • LTC:

    LgiRVCJvbA1jNeQJv5uJCnZZMQGz5R2Y1K
  • XMR:

    48firQdjLmgKktZ96CVvb3Efe56GLkKiUG63M6bHsZWtiYYsLfg43TFR72G3RwJnLJ4d4fc6MkMfJi93yvDbNHV6BDwcs6L
  • BCN:

    24ayJZ8hAzxgxAEYaaDAyhV8KH1QrRuzdZsGXFZw3xKaMj6b3cumuzMfNCezqRpKfLJf5dmANoy6uA2bGtZ3uT5fJHdE2cM

Credits

https://github.com/zone117x/node-cryptonote-pool

Der Beitrag Monero [XMR] Pool Mining – HowTo Install Monero Mining Pool on Linux Ubuntu erschien zuerst auf inoWRX - Software Engineering aus Bielefeld.

]]>
https://www.inowrx.de/monero-xmr-pool-mining-howto-install-monero-mining-pool-on-linux-ubuntu/feed/ 4