23 aprile 2025
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:
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 è:
e bisogna aggiungere in bitcoin.conf la stessa pwd configurata nell'app.config
In un paio di ore o meno dovrebbe sincronizzarsi.
Ora possiamo provare a aggiungere qualche cosa al codice di più interessante:
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:
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):
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):
Etichette:
bch,
bitcoin,
bitcoin cash,
btch,
dash
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.
- KRAKEN
- 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 |
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.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"
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).
#retoricapertroll9 novembre 2015
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
Intervista ai Chemical Brothers: #TheGuardian http://t.co/MZZmLSqioX
What is Ed Simons listening to ?Tom Rowlands?
https://t.co/MXVIXpvAkr
— marco borgna (@marco_borgna) September 21, 2015
Iscriviti a:
Post (Atom)