Manuel Kukla's Blog

IT, Finanzen, Aktien, Kuriositäten und alltägliches

H2 Database unter .NET via ODBC

Für mein letztes Projekt (einer Statistik-Seite für Burst-Einnahmen http://burstcoin.mku.name:8080/) benötigte ich eine Verbindung zur H2 Datenbank via ASP.NET.

Da ich nicht gleich fündig geworden bin, folgt hier eine kurze Anleitung zur Verwendung der H2 Datenbank unter .NET.

Der nach meinem Erkenntnisstand einfachste Weg besteht darin, einfach den ODBC-Treiber von PostgreSQL zu verwenden. Dieser kann auf der Website von PostgreSQL heruntergeladen werden (http://www.postgresql.org/ftp/odbc/versions/dll/). 

Die Verbindung unter C# sieht dann wie folgt aus:

String sConn = "Driver={PostgreSQL ANSI" + (System.Environment.Is64BitProcess ? "(x64)" : "") + "};"+
               "database=C:\\burst\\burst_1.2.0\\burst_db\\burst;" +   
               "server=localhost;port=5435;uid=sa;pwd=sa;";
using(OdbcConnection conn = new OdbcConnection(sConn))
{
   conn.Open();
   using(OdbcCommand cmd = new OdbcCommand("SELECT * FROM tTest", conn))
   {
     //..
   }
}

Zu beachten ist folgendes:

  • der abweichende Standardport: 5435. Dieser ist beim Start des h2-Servers als PG server ersichtlich.

  • Unterschiedlicher Provider bei x64 und x86 (Stolperstein bei angehängtem Debugger / Release-Version)


Die alternative Bibliothek H2Sharp habe ich nicht mehr zum Laufen gebracht. Ich scheiterte an der Fehlermeldung ... "driver version 6 ... client version 0...". Ich gehe davon aus, dass mein H2 Server zu neu ist, und die Bibliothek nicht mehr damit kompatibel ist. Die letzte Version von H2Sharp ist von 2008.

Neuer wplotgenerator von Janror für Burst Coins

Hallo,

seit kurzem gibt es für die Erstellung von Burst Plotfiles einen schnelleren CPU-basierten Generator von Janror.

Vorweg: Falls ihr nicht wisst, was Burst Coins sind, gibt es hier die vollständige Anleitung: http://www.mku.name/post/burst-coin-mining diese verlinkt dann an passender Stelle wieder hierher.

Download: https://mega.co.nz/#!DgsWFIJA!H_D0Tg-Laxwp1yvccUwZG8uRx2jgz0IBTTZ91r0IfQA

Verwendung:

wplotgenerator <account id> <start nonce> <number of nonces> <stagger size> <threads>

also:

wplotgenerator 12345NUMMER6789 0 800000 10000 4

Ersetzt 12345NUMMER6789 mit dem Public Key aus der Datei address.txt!

0 = Startblock
800000 = Blocklänge
10000 = Staggersize  je höher desto besser
4 = Anzahl der Threads für die Generierung
800.000 Blocklänge ergibt ein File von ca. 195 GB. -> 256 KB * 800.000 / 1024 (-> MB) / 1024 (-> GB) = 195,31 GB
400.000 Blocklänge ergibt ein File von ca. 97 GB usw...

optional: /async ... schreibt die fertigen Plots parallel zur Generierung von neuen Plots, braucht aber doppelt so viel RAM.

Die Plot-Erstellung kann mit diesem Plotter auch unterbrochen und später fortgesetzt werden, sobald der Status nicht anzeigt, dass gerade geschrieben wird.

 

Unterstützt die Entwicklung durch eine Spende an:  BURST-LNVN-5M4L-S9KP-H5AAC

 

Quelle:

https://bitcointalk.org/index.php?topic=731923.msg8878839#msg8878839

Burst Coin Mining

Mein zweiter Post zu diesem Thema soll ein kleines deutschsprachiges Tutorial darstellen.

Prinzipiell gibt es drei Möglichkeiten um Bursts zu erhalten:

  • man kann diese kaufen
  • man kann diese selbst erarbeiten (=minen)
  • man kann diese in einer Gemeinschaft erarbeiten (=pool mining)

Vorweg noch Referenzen zu meinem Post:

Für die erste Möglichkeit benötigt man Geld, diese werde ich jetzt nicht näher behandeln.

Die zweite Möglichkeit (=solo mining) benötigt Folgendes:

Die dritte Möglichkeit (=pool mining) benötigt Folgendes:

Die Links stellen den aktuellen Softwarestand (13.11.2014, 23:43) dar, und sind möglicherweise veraltet. Ich werde jedoch versuchen dies möglichst aktuell zu halten. Unter https://bitcointalk.org/index.php?topic=731923.0 kann man in der Sektion Downloads die aktuellen Versionen herunterladen.

Nun möchte ich nicht zu viele Worte verlieren - hier zur Anleitung.

Installieren der Geldbörse und Anlegen eines Kontos

  • Herunterladen der aktuellsten Java-Version
  • Man nehme etwas Platz auf einer Festplatte. Im Beispiel gehe ich von C: aus.
  • Anlegen eines neuen Ordners C:\Burst
  • Extrahieren der beiden heruntergeladenen Archive (Wallet, POCMiner) in C:\Burst  
  • !!! Extrahieren von pocminer_pool in pocminer_v1

               

  • In die Datei "C:\Burst\pocminer_v1\passphrases.txt" müsst ihr jetzt euer persönliches Passwort eintragen. Dies soll möglichst lang sein, und ihr solltet es für nichts anderes verwenden! Ich verwende für diese Anleitung Xyz. Bitte nehmt ein langes (!) Passwort, z.B.: 30 Stellen!
  • Zum Ausführen wird Java benötigt, sofern ihr einen 64-bit Rechner besitzt und das 64-bit-Java installiert habt, könnt ihr den nächsten Absatz überspringen:
  • Sofern ihr nur 32-bit Java zur Verfügung habt, müsst ihr jetzt alle markierten Batch-Files mit dem Editor öffnen und am Anfang jeder relevanten Zeile "java" durch "C:\Windows\SysWOW64\java" ersetzen. Dies ist nur nötig, wenn ihr kein 64-bit Java habt. Auf einem 32-bit-Rechner sollte keine Änderung nötig sein!

                         

  • Nach Doppelklick auf run_generate.bat sollte euer Passwort nun zu einem öffentlichen Schlüssel (eurer "Kontonummer")umgerechnet werden. Das Ergebnis findet ihr in der Datei address.txt und sollte z.B.: so aussehen:
  • Found address: Xyz -> 209390390
  • Wenn ihr oben alles gelesen habt, habt ihr jetzt ein langes Passwort und einen langen öffentlichen Schlüssel.

 

Öffnen der Geldbörse:

  • Startet nun bitte "C:\Burst\burst_1.1.5\run.bat" (evtl. muss das File noch mit "C:\Windows\SysWOW64\java" angepasst werden.) Es öffnet sich nun eine schwarze Konsole, nach einiger Zeit könnt ihr die Geldbörse dann öffnen.
  • Die Geldbörse (=Wallet) ist via Browser auf eurem PC zu erreichen. Ihr könnt Sie mittels http://localhost:8125 öffnen.
  • Nach Eingabe eures Passwortes, kommt ihr in die Geldbörse
  • Wie man links oben (im grünen Feld sieht), ist aber nichts drinnen ;-)

Erstellen von "Festplattenkapazität" (=Plot-Files)

ACHTUNG: Es gibt seit kurzem einen schnelleren Generator: siehe hier.

  • Öffnet nun die Datei "C:\Burst\pocminer_v1\run_generate.bat" mit einem Editor und ersetzt(!) den Inhalt wie folgt:
  • java -cp pocminer.jar;lib/*;lib/akka/*;lib/jetty/* pocminer.POCMiner generate 12345NUMMER6789 0 800000 1000 4
  • Ersetzt 12345NUMMER6789 mit dem Public Key aus der Datei address.txt! (im obigen Beispiel war es 209390390)
  • 0 = Startblock
  • 800000 = Blocklänge
  • 1000 = Staggersize  je höher desto besser, für den Anfang könnt Ihr 1000 nehmen, für spätere Files könnt ihr auch mit größeren Werten experimentieren. Je nach RAM-Ausstattung eures PCs könnt ihr auch Blöcke mit 8000 oder noch höher generieren. Maximale Größe für Java: 8191!
  • 4 = Anzahl der Threads für die Generierung
  • Nun kann es losgehen. Nach Doppelklick auf die obige Datei beginnt die Generierung, Dies kann mehrere Stunden dauern.
  • Brecht die Erstellung der Datei nicht ab
  • 800.000 Blocklänge ergibt ein File von ca. 195 GB. -> 256 KB * 800.000 / 1024 (-> MB) / 1024 (-> GB) = 195,31 GB
  • 400.000 Blocklänge ergibt ein File von ca. 97 GB usw...

Während der Generierung könnt ihr bereits mit dem Verdienen starten. Wählt jetzt zwischen Solo oder Pool-Modus!

Verdienen von Bursts im Solo-Modus

  • Prüft, ob es den Unterordner "C:\Burst\pocminer_v1\plots" mit euren Plot-Files bereits gibt
  • Startet dann einfach "C:\Burst\pocminer_v1\run_mine.bat"
  • Die Ausgabe sollte wie folgt aussehen:

  • Sollten Fehler beim Lesen von Dateien auftreten, macht dies nichts, da die Plot-Datei noch nicht fertig erstellt ist.
  • irgendwann sollte einmal zu lesen sein:
  • New best: 12345NUMMER6789:160093
    Submitting share
  • {"result":"deadline: 348"}
  • Dann funktioniert alles. Der Wert hinter deadline: sollte möglichst gering sein, umso geringer dieser ist, umso größer ist die Wahrscheinlilchkeit dass ihr einen Block "gefunden" habt.

Verdienen von Bursts im Pool-Modus

  • Wenn ihr gerade erst angefangen habt, ist es besser im Pool-Modus zu arbeiten. Hier arbeiten viele Leute mit kleinen Datenmengen zusammen, um möglichst bald einen Block zu finden.
  • Ich beziehe mich in der Beschreibung auf diesen Pool: http://178.62.39.204:8121
  • Für die Umlenkung eurer Einnahmen zum Pool benötigt ihr 1 Burst.
  • Unter http://burstfaucet.com könnt ihr "gratis" 1 Burst bekommen.
  • Nach einiger Wartezeit sollte in eurer Geldbörse 1 Burst sein.
  • Prüft dies mittels http://localhost:8125
  • Zum Umlenken der Einnahmen öffnet http://localhost:8125/rewardassignment.html
  • fügt unten euer Passwort, sowie die Geldbörse des Pools ein:
  • BURST-8NZ9-X6AX-72BK-2KFM2   Prüft diese bitte unbedingt auf der offiziellen Seite des Pools http://178.62.39.204:8121 nach!

             

  • Nach Klick auf Submit müsst ihr warten, bis einige weitere Blöcke gefunden wurden, und eure Umstellung bestätigt wurde. Dies kann 5-30 Minuten dauern.
  • Nachdem(!!!) ihr in der Liste http://178.62.39.204:8121/users mit eurer Kontonummer (=Public Key, nur Zahlen) aufscheint, könnt ihr den Poolminer starten. Nicht vorher, sonst werdet ihr möglicherweise gesperrt.
  • Benennt eure passphrases.txt Datei auf passphrases_rename.txt um, um ein irrtümliches Solo-Minen zu verhindern.
  • Passt den Inhalt der Datei mine.bat wie folgt an:
  • java -cp pocminer_pool.jar;lib/*;lib/akka/*;lib/jetty/* pocminer_pool.POCMiner mine http://127.0.0.1:8125 http://178.62.39.204:8121
  • Startet mine.bat

Viel Spaß beim Minen!

 Aber... Was nun?

Solo-Mining:

  • Warten bis ihr einen Block gefunden habt. Dieser ist derzeit 10.000 Bursts wert. (Edit: Der Wert von gefunden Blöcken sinkt jedes Monat, per jetzt sind es nur mehr 9.500 Bursts!)
  • Bedenkt: Je geringer die Deadline im Konsolenfenster ist, umso höher eure Chance. Der Wert stellt die Sekunden ab dem letzten Block dar, die vergehen müssen, ohne dass ein anderer eine niedrigere Deadline meldet.
  • Je mehr Speicherplatz ihr "geplottet" habt, umso höher ist die Wahrscheinlichkeit einen Block zu finden

Pool-Mining:

  • Warten bis ihr genügend gültige "Shares" übermittelt habt, bis die erste Auszahlung erfolgt. Dies geschieht in der Regel ab 500 Bursts.
  • Eure Shares könnt ihr hier überprüfen: http://178.62.39.204:8121/shares Sucht dazu am besten nach eurem Public-Key (=Kontonummer, nur Zahlen) mittels Strg+F
  • Eure Balance (Bursts) könnt ihr hier überprüfen: http://178.62.39.204:8121/Balance
  • Je mehr Speicherplatz ihr "geplottet" habt, umso höher ist die Wahrscheinlichkeit einen gültigen Share zu finden (derzeit < 75.000 Sekunden)

Erstellung weiterer Plotfiles:

  • Sofern die Erstellung des ersten Plotfiles abgeschlossen ist, könnt ihr ein weiteres erstellen. Dies sollte ebenfalls unterhalb von "C:\Burst\pocminer_v1\plots" liegen.
  • Dazu müsst ihr wieder die Datei "C:\Burst\pocminer_v1\run_generate.bat" mit einem Editor anpassen.
  • Ersetzt(!) den Inhalt erneut wie folgt:
  • java -cp pocminer.jar;lib/*;lib/akka/*;lib/jetty/* pocminer.POCMiner generate 12345NUMMER6789 800000 800000 1000 4
  • 12345NUMMER6789 ist wieder euer Public Key aus der Datei address.txt (im obigen Beispiel war es 209390390)
  • 800000 = Startblock
  • 800000 = Blocklänge
  • Startet nun run_generate.bat
  • Zur Erinnerung nochmals von oben: Brecht die Erstellung der Datei nicht ab
  •    800.000 Blocklänge ergibt ein File von ca. 195 GB. -> 256 KB * 800.000 / 1024 (-> MB) / 1024 (-> GB) = 195,31 GB
  •    400.000 Blocklänge ergibt ein File von ca. 97 GB usw...

 

Für alle weiteren Files gilt:

  • Vermeidet Überschneidungen, dies kostet Speicherplatz und nützt nichts!
  • Es macht nichts, wenn Lücken entstehen, besser eine Lücke als doppelte Blöcke!
  • Der Startblock muss nicht bei 0 beginnen, ihr könnt auch bei 100.000.000 oder einer sonstigen beliebigen Zahl anfangen.
  • Startblock + Blocklänge = Startblock des nächsten Plot-Files
  • z.B.:

Startblock  Blocklänge
0 800.000 
 800.000 800.000 
1.600.000  800.000

  • java -cp pocminer.jar;lib/*;lib/akka/*;lib/jetty/* pocminer.POCMiner generate 12345NUMMER6789 0 800000 1000 4
  • java -cp pocminer.jar;lib/*;lib/akka/*;lib/jetty/* pocminer.POCMiner generate 12345NUMMER6789 800000 800000 1000 4
  • java -cp pocminer.jar;lib/*;lib/akka/*;lib/jetty/* pocminer.POCMiner generate 12345NUMMER6789 1600000 800000 1000 4
  •  usw...

     

    Update 13.11.2014, 23:30:

    • (Wallet-Link für Version 1.1.5 eingefügt)
    • (Kommentar von Chris beantwortet, und in Anleitung eingefügt)

    Sofern der Platz auf dem ersten Laufwerk ausgegangen ist:

    • Kopiert einfach das Verzeichnis vom Miner auf die neue Festplatte.
    • Also z.B.: von "C:\Burst\pocminer_v1" nach "E:\Burst\pocminer_v1".
    • WICHTIG: Den Unterordner plots auslassen, und auf E: einen neuen anlegen, sonst kopiert ihr die großen Plotfiles mit. Doppelte Plots bringen aber nichts, außer verlorenen Speicherplatz!
    • Im Anschluss muss noch eine weitere Instanz des Miners gestartet werden (E:\Burst\pocminer_v1\run_mine.bat)
    • Und auf Laufwerk E müssen natürlich neue Plotfiles erzeugt werden.

    Burst Coins Overview

    Mein nächster Blogpost handelt von der Kryptowährung Burst. Wer noch nie etwas darüber gehört hat, sollte vielleicht die folgenden Zeilen lesen.

    Was ist Burst?

    Burst ist eine virtuelle Währung, so ähnlich wie Bitcoin. Im Vergleich zu Bitcoin gibt es jedoch einen entscheidenden Vorteil: Man braucht zum "Minen" (=erhalten) von Burst keine leistungsfähige und teure Hardware. Etwas freier Speicherplatz auf der Festplatte reicht für den Anfang völlig aus.

    Was kann ich mit Burst machen?

    Burst kann einerseits in der Geldbörse aufbewahrt werden, andererseits kann es gegen Bitcoins getauscht werden und so zum Einkaufen oder Umtauschen in eine traditionelle Währung genutzt werden.

    Wie bekomme ich Burst?

    Eine "kurze" Anleitung findet sich in meinem zweiten Post zu diesem Thema. Hier

    Was macht Burst so einzigartig?

    Hier geht es nicht um spezielle teure Hardware, oder hohe Stromkosten beim Mining. Nach dem einmaligen Generieren der Plotfiles, wird kaum noch CPU-Last benötigt. Es geht einzig um die verfügbare HDD-Kapazität. Jeder hat einige zig Gigabytes an ungenutztem Platz und kann sofort mitmachen!