Title: cosa dovrebbe fare questo client di diverso Qtbitcoin NFTF Post by: nutriagrigia on June 11, 2014, 07:51:44 AM Per curiosità ho provato questo
https://bitcointalk.org/index.php?topic=22434.0 il codice sotto https://github.com/ShadowOfHarbringer/bitcoin-nftf/tags Pensavo di trovarmi un client che permette di fare qualcosa di diverso sull'impostazione della fee, invece mi trovo una prodotto tale quale a quello ufficiale compilato. Unica differenza sembra la dimensione bitcoin-qt.exe originale 26782 KB bitcoin-qt.exe modificato 189340 KB bitcoin-cli.exe originale 3453 bitcoin-cli.exe modificato 3427 bitcoind.exe 7766 bitcoind.exe modificato 7056 Per compilare ho usato questeistruzioni https://bitcointalk.org/index.php?topic=149479.0 Title: Re: cosa dovrebbe fare questo client di diverso Qtbitcoin NFTF Post by: nutriagrigia on June 12, 2014, 06:44:51 AM Sono riuscito a compilarmi una versione, sono riuscito pure a modificare una riga di quel codice che per me è arabo. Cosi la forzatura della fee l'ho impostata a 1/100 di valore standard. Ovviamente ho provato a lanciare una microtransazione e ora aspetto a vedere se va a buon fine.
Lanciata 6 ore fa, vedo la transazione in pending con 0 conferme. questa guida https://bitcointalk.org/index.php?topic=149479.0 e piu che perfetta, tuttavia ho incontrato grosse difficoltà a compilarmi la versione, perchè a volte le librerie venivano compilate male, e magari ripetendo una seconda compilazione la cosa funzionava. Senza contare che alcune librerie si compilano anche andando a pescare precedenti compilazioni, che se nel caso non sono andate bene, bloccano o peggio determinano un'errata compilazione delle nuove. Quello che mancherebbe per rendere la cosa fattibile a tutti, è il poter controllare dopo ogni step, la corretezza della compilazione delle varie librerie. Il codice credo sia scritto in c++ linguaggio a oggetti. Per quanto mi riguarda è arabo duro e crudo Ho isolato il codice che determina i vari filtri della fee. E bastato cercare le differenze tra il codice originale e quello modificato messo sul primo post. Il file da modificare si chiama wallet.cpp le righe che interessano la fee sopo piu o meno queste Quote // Check that enough fee is included int64_t nPayFee = nTransactionFee * (1 + (int64_t)nBytes / 1000); bool fAllowFree = AllowFree(dPriority); int64_t nMinFee = GetMinFee(wtxNew, nBytes, fAllowFree, GMF_SEND); if (nFeeRet < max(nPayFee, nMinFee)) { nFeeRet = max(nPayFee, nMinFee); continue; } dove si vede che cè una sorta di doppio filtro sulla fee, uno impostabile dall'utente, uno forzato dal programma. Si prende il valore maggiore dei 2 nMinFee e la variabile che contiene la fee minima impostata dal programma Ho modificato questa riga int64_t nMinFee = GetMinFee(wtxNew, nBytes, fAllowFree, GMF_SEND); con int64_t nMinFee = GetMinFee(wtxNew, nBytes, fAllowFree, GMF_SEND) / 100; e ho ridotto di un fattore 100 la minima fee applicata dal programma. Se la transazione mi passa ugualmente, condivido il programma compilato. Ovviamente andrebbero fatte le solite considerazioni è bene non fidarsi di compilazioni fatte da esterni sopratutto se nel client ci mettiamo valori imporatnti. e la seconda riguarda il fatto di usare una fee fuori specifica. Su questo post la cosa viene ben evidenziata https://bitcointalk.org/index.php?topic=22434.0 Title: Re: cosa dovrebbe fare questo client di diverso Qtbitcoin NFTF Post by: Pinbot on June 12, 2014, 07:22:01 AM Hai già condiviso le righe di codice modificate, manca giusto la versione ma imho è sufficiente (anche perchè si presuppone che chi è interessato siappia cosa stia facendo).
Title: Re: cosa dovrebbe fare questo client di diverso Qtbitcoin NFTF Post by: FaSan on June 13, 2014, 05:36:10 PM Invece di utilizzare una versione di un client poco conosciuto (e da verificare bene), puoi benissimo modificare delle righe di codice dal client originale e compilare quello.
L' unica cosa è che sinceramente non vedo proprio l' utilità. La fee è ritenuta necessaria per evitare spam ddos nel network, per sostenere il network con piccoli guadagni da parte di chi mina il blocco, per avere una priorità nell' inserimento della proprio TX nel prossimo blocco (che senza fee o con una fee inesistente verrebbe inclusa chissà quando). Quindi mi spiegate a che serve ? FaSan Title: Re: cosa dovrebbe fare questo client di diverso Qtbitcoin NFTF Post by: nutriagrigia on June 13, 2014, 06:54:54 PM rispondo solo alla prima riga
ho compilato un codice diverso da quello della pagina del codice senza fee, codice che viene indicato come quello originale https://github.com/bitcoin/bitcoin/archive/v0.9.1.zip preso nel fondo pagina delle istruzioni su come compilare il programma sotto windows. Per trovare la sezione che riguarda la fee ho comparato tutti i files della versione ipoteticamente tarocca e quello teoricamente ufficiale Le differenze sono queste Code: Confronta: (<)bitcoin-0.9.1\src\wallet.cpp (69726 byte) Riguardo la seconda questione, ho fatto questo per un'esigenza specifica e sopratutto come esperimento, visto che comunque ho testato la correttezza di alcune guide, che possono servire ad altri anche per altri motivi. Reputo che la cosa possa avere un suo interesse. Nel mio caso specifico avevo alcuni spiccioli ottentuti da bitvisitor, e per spostarli mi era richiesto 1/4 del loro valore. Ho seguito il consiglio di Pinbot, e quindi non ho a distribuito una versione scorretta compilata. Forse quando con i bitcoin ci compreremo perfino il caffè delle macchinette, il calcolo della fee andrà rivisto. |