4 gennaio 2018

Esempio Linqpad per Bitcoin Cash via BitcoinLib

L'ottima libreria c# BitcoinLib permette di accedere e interrogare la rete Bitcoin Cash  e anche BTC, DASH e altre.

Per provarla  ho creato un esempio in LinqPad.

Per cominciare bisogna installare nella query LinqPad la libreria BitcoinLib da NuGet (basta premere F4 in LinqPad e poi il pulsante Add Nuget ) .

Ora potete aggiungere la prima riga di codice:

 // Create a coinservice 
 ICoinService CoinService = new BitcoinService(useTestnet: true);
 
Se la lanciate così non può funzionare! Infatti la libreria in realtà per funzionare deve essere configurata premendo di nuovo F4 e mettendo in app.config questo xml:
 
<configuration>
  <startup>
    <supportedruntime sku=".NETFramework,Version=v4.6.1" version="v4.0">
  </supportedruntime></startup>
  <appsettings>
    <!--  BitcoinLib settings start -->
    <!-- Shared RPC settings start -->
    <add key="RpcRequestTimeoutInSeconds" value="60" />
    <!-- Shared RPC settings end -->
    <!-- Bitcoin settings start -->
    <add key="Bitcoin_DaemonUrl" value="http://localhost:8332" />
    <add key="Bitcoin_DaemonUrl_Testnet" value="http://localhost:18332" />
    <add key="Bitcoin_WalletPassword" value=""/>
    <add key="Bitcoin_RpcUsername" value="USERNAME" />
    <add key="Bitcoin_RpcPassword" value="Pwd_cambia_questo" />
    <!-- Bitcoin settings end -->
   
    <!-- Demo client settings start -->
    <add key="ExtractMyPrivateKeys" value="false" />
    <!-- Demo client settings end -->
    <!--  BitcoinLib settings end -->
  </appsettings>
</configuration>
 
Ancora non funziona! Infatti come si intuisce dal file di configurazione la libreria necessita di un nodo della rete Bitcoin a cui puntare per funzionare. Niente di più facile! :D Basta scaricare un client Bitcoin, io ad esempio ho scaricato Bitcoin ABC della blockchain Bitcoin Cash.

Se si fa partire sulla rete "main" richiede giorni per sincronizzarsi e occupa 120 giga sul disco ma per i test è sufficiente lanciarlo sulla rete "testnet" e salvare solo gli ultimi giorni di transazioni sul disco.

Per lanciarlo il comando è:

 bitcoin-qt.exe -prune=560 -testnet -server

e bisogna aggiungere in bitcoin.conf la stessa pwd configurata nell'app.config

 rpcuser=USERNAME
 rpcpassword=Pwd_cambia_questo

In un paio di ore o meno dovrebbe sincronizzarsi.
Ora possiamo provare a aggiungere qualche cosa al codice di più interessante:
 
// ecco il balance del wallet! 
var myBalance = CoinService.GetBalance(minConf: 1);
myBalance.Dump("Balance"); 

se vi servono soldi sulla rete testnet basta andare su un faucet bitcoin cash e farseli mandare, yeah magic internet money.

oppure possiamo elencare la lista di transazioni:

CoinService.ListTransactions(null, int.MaxValue, 0)
 .Select(t => new
 {
  Account = t.Account, // account receiving
  Address = t.Address,
  Category = t.Category, // receiving or sending
  Amount = t.Amount, 
  Fee = t.Fee,
  Confirmation = t.Confirmations,
  TxId =  new Hyperlinq("https://www.blocktrail.com/tBCC/tx/" + t.TxId,"check") ,
  Time = t.Time + "-" +  UnixTime.UnixTimeToDateTime(t.TimeReceived),
  CoinService.GetTransaction(t.TxId).Details.First().Label // ?? can have more than one ?
  
 }).Dump("Transactions");
 
 
Sono affascinato dalla "meccanica" della blockchain  e riuscire ad accederci tramite LinqPad e C# in maniera semplice e moderna la rende ancora più appetibile.

Esempio completo: Bitcoin Cash Linqpad example using BitcoinLib
Se non avete ancora Linqpad scaricatelo subito!
La pagina github da cui è tratto questo esempio: https://github.com/GeorgeKimionis/BitcoinLib/blob/master/demo/Program.cs

 Se volete stimolare il mio lavoro potete mandarmi qualche frazione di Bitcoin Cash a questo indirizzo:

1GovBxD4ZFThbWX9Bjw16AksxJq8D4PDQX

Oppure usare questo qrCode (BCH mi raccomando):




14 dicembre 2017

BITCOIN e altre cryptovalute link utili per una mania


Se guardi dentro la macchina dei Bitcoin scopri che i tubi sono buoni e in futuro tutto passerà da li, ma magari non in questa forma.

Non sono un esperto e sconsiglio di investire più del 1% del proprio capitale in Cryptovalute ma se siete interessati ecco qualche link utile.
  • ASSETS
    Gli asset permettono di comprare Bitcoin con un versamento da bonifico o da altre criptovalute. Per ragioni di sicurezza meglio non lasciare nell'asset le cryptovalute ma trasferirle subito nel proprio wallet (vedi sotto).
    Se si fa trading frequente  tra cryptovalute, lasciandole nell'asset non si pagano il compenso dei minatori quando si trasferisce tra una crypto e l'altra ma solo le spese dell'asset, importante sopratutto con il bitcoin che in questo momento ha spese stratosfericamente alte.

    • KRAKEN
      Un ottimo asset ma con seri problemi dovuti al traffico, nell'uso capitano continuamente errori di funzionamento. Il vantaggio principale è che il processo di verifica iniziale per certificare l'identità è abbastanza fluida. Ho fatto e ricevuto bonifici da questo asset senza problemi 😛.
    • COINBASE
      Ottimo asset, probabilmente superiore a KRAKEN ma con un processo di registrazione più rigido che richiede la foto via webcam di un documento fisico, ad esempio la patente.

  • WALLET
    I wallet sono software-portafoglio che permettono di gestire i propri Bitcoin senza delegare a un asset o a un terzo. Io uso Exodus che un portafoglio multi-coin con un ottimo supporto e sistema di trading collegato. Ogni crypto ha il suo wallet ufficiale e ognuno ha un suo metodo per farne un backup fisico, ad esempio con un qrcode da stampare o una lista di 20 parole da scriversi.
  • ALTCOIN
    Sono le cosidette monete alternative a Bitcoin. Alcune derivano direttamente da Bitcoin altre usano tecnologie diverse. Ne esistono circa 1300 di cui circa 10 significative. Io consiglio di tenere d'occhio Bitcoin Cash (la versione funzionante di Bitcoin)  e DASH (più una community autogovernata che una moneta.
  • ARTICOLI _ MEDIA
    A bubble? We don’t even know how to value Bitcoin
    http://badcryptopodcast.com/ ( da ascoltare l'episodio 60 con Ronnie Moas )
    https://www.coursera.org/learn/cryptocurrency/home/welcome (il corso molto tecnico della Princeton University)

    Come accettare bitcoin con una pagina ASP.net  https://www.codeproject.com/Articles/1207351/Accepting-Bitcoin-BTC-payments-with-Csharp-ASP-NET
    Usa la libreria : NBitcoin e per BCH c'è NBitcoinBCC

12 novembre 2015

plaid wallpaper con GUI [interfaccia]

La mia strana idea di usare le palette di http://www.colourlovers.com/ per farne wallpaper/sfondi è andata avanti e adesso una prima versione con GUI (grezza) è disponibile su maborg/PlaidWallpaper.

Questa è la versione 0.1 ma vorrei arrivare a 1.0 con interfaccia migliore e installabile. :D

10 novembre 2015

compriamo il bellissimo gramofon, con i biscotti

Gramofon.com https://shop.gramofon.com/

Che carini! 

Un sacco di biscotti gratis! Li danno gratis e non lo scrivono da nessuna parte. Strano.

Cookies vuol dire biscotti, come mai danno i biscotti gratis? 

A me i biscotti li fanno pagare nei negozi, uhm... che lo facciano per soldi? 

E come fanno a guadagnare se vendono una cosa cosi figa a 59 o 69 euro o dollari. Mettiamo che sappiano una cosa. Tipo che l'informazione vale molto di più dei soldi. Ma molto, molto di più. Diciamo150$ per ogni utente.

NO, scherzo, è davvero #figo, anche questo blog ti dà i COOKIES. yeah!


 
Da qui in poi è solo una questione tecnica NON LEGGERE.
In addition to the cookies mentioned above used at Fon.com website, we will be also using the following cookies at Gramofon.com:

Name Purpose Further information Expiration
AdRoll Adroll cookies also collect data for the purpose of interest-based advertising. https://www.adroll.com/about/privacy   5 years   
AppNexus AppNexus cookies also collect data for the purpose of interest-based advertising. http://www.appnexus.com/cookies Maximum of any of the cookies is 3 months
BidSwitch BidSwitch cookies also collect data for the purpose of interest-based advertising. http://www.iponweb.com/privacy-policy/ 2 years
DoubleClick DoubleClick cookies also collect data for the purpose of interest-based advertising. https://support.google.com/adsense/answer/2839090?hl=en 1 day
Google Adwords Conversion Google Adwords cookies also collect data for the purpose of interest-based advertising. https://support.google.com/adwords/answer/2407785?hl=en 1 day
LiveRamp LiveRamp helps marketers with CRM Retargeting and helps data companies onboard their offline data into anonymous cookies http://liveramp.com/cookies-101/ 6 months
MLN Advertising by Yahoo MNL cookies also collect data for the purpose of interest-based advertising. http://mlnadvertising.com/privacy/ 2 years
Right Media Right media cookies also collect data for the purpose of interest-based advertising. https://info.yahoo.com/privacy/us/biz/rightmedia/details.html 2 years

Monica at Mozilla: Advertising: a sustainable utopia?

There has to be a better way.Why can’t a person buy and blank out all of the ad space on sites they visit at a deep discount, since targeting machinery would no longer be relevant? Why aren’t subscriptions available as bundle deals, like in streaming video? Solutions like these are hypothetical and will remain so as long we maintain the fiction that the current advertising revenue model is a sustainable utopia"
O'Reilly ad esempio lo ha capito da tempo e si è trasformato in un fornitore di servizi, oltre che editore tradizionale, dribblando sia la pirateria che la crisi dell'advertising e i MAKER lo fanno e ci guadagnano.
IO NON USO ADBLOCK e non lo userò mai. Non serve. Se un sito regala biscotti, magari non ci vado o magari sì. Lo uso come uno strumento, tutto qua.
io ci ho provato, Repubblica no (e <b>IO NON USO ADBLOCK</b> ) :

quell_eserrcito_di_internauti_che_naviga_senza_pubblicita_ma_i_contenuti_come_si_pagano

CI SONO già 200 milioni di persone che navigano in un web senza pubblicità, [...] dove risulta anche che in Italia si perde in questo modo circa il 16,4 per cento degli annunci pubblicitari......
la pagina che spiega come usa i cookies Repubblica . Chiaro no ?

Ci sono comunque soluzioni diverse e molto più radicali di AD-Block (che io non uso, vi ricordo) ad esempio: http://www.networkadvertising.org/choices e che sinceramente mi sembrano buttare via il bambino assieme con l'acqua sporca (opt-out).

#retoricapertroll

22 ottobre 2015

si lo so ho dimenticato il cursore :D e si sente la stampante... pazienza #mrf15

25 settembre 2015

Zoo School ✊ Film horror sulla scuola italiana. Essenziale per capire l'Italia.

Andrea Tomaselli regista di Zooschool *si paga ma poco* film horror sulla scuola italiana. Essenziale per capire l'Italia.

Da vedere prima che Hollywood lo scopra e ne faccia uno stupido remake


ZooSchool è un film low budget, sperimentale ed indipendente. Un modo alternativo di fare cinema, fuori dalle logiche...
Posted by Zoo School The Movie on Wednesday, 26 August 2015

22 settembre 2015

La musica dei Chemical Brothers al guardian music

8 settembre 2015

Ok skype, questo proprio non lo capisci:



e neanche blogger. Unicode is hard. 



🍔
HAMBURGER
U+1F354