
Client Bitcoin a nodo completo che convalida transazioni e blocchi sulla rete peer-to-peer, con portafoglio integrato, sicurezza crittografica e GUI opzionale per la gestione decentralizzata delle criptovalute.
Per una versione binaria immediatamente utilizzabile del software Bitcoin Core, consulta https://bitcoincore.org/en/download/.
Bitcoin Core si connette alla rete peer-to-peer di Bitcoin per scaricare e convalidare completamente blocchi e transazioni. Include anche un portafoglio e un'interfaccia utente grafica, che possono essere opzionalmente compilati.
Ulteriori informazioni su Bitcoin Core sono disponibili nella cartella doc.
Bitcoin Core è rilasciato sotto i termini della licenza MIT. Vedi COPYING per maggiori informazioni o consulta https://opensource.org/license/MIT.
Il ramo master viene regolarmente compilato (vedi doc/build-*.md per le istruzioni) e testato, ma non è garantito che sia completamente stabile. I vengono creati regolarmente dai rami di rilascio per indicare nuove versioni ufficiali e stabili di Bitcoin Core.
Il repository https://github.com/bitcoin-core/gui viene utilizzato esclusivamente per lo sviluppo della GUI. Il suo ramo master è identico in tutti i repository monotree. I rami di rilascio e i tag non esistono, quindi per favore non fare fork di quel repository a meno che non sia per motivi di sviluppo.
Il flusso di lavoro per i contributi è descritto in CONTRIBUTING.md e utili suggerimenti per gli sviluppatori si trovano in doc/developer-notes.md.
Il test e la revisione del codice sono il collo di bottiglia dello sviluppo; riceviamo più pull request di quante ne possiamo revisionare e testare in breve tempo. Per favore sii paziente e aiutaci testando le pull request degli altri, e ricorda che questo è un progetto critico per la sicurezza in cui qualsiasi errore potrebbe costare molto denaro alle persone.
Gli sviluppatori sono fortemente incoraggiati a scrivere test unitari per il nuovo codice e a inviare nuovi test unitari per il codice esistente. I test unitari possono essere compilati ed eseguiti (supponendo che non siano stati disabilitati durante la generazione del sistema di compilazione) con: ctest. Ulteriori dettagli su come eseguire ed estendere i test unitari si trovano in /src/test/README.md.
Ci sono anche test di regressione e integrazione, scritti in Python. Questi test possono essere eseguiti (se le dipendenze di test sono installate) con: build/test/functional/test_runner.py (supponendo che build sia la tua directory di compilazione).
I sistemi CI (Continuous Integration) garantiscono che ogni pull request venga testata su Windows, Linux e macOS. La CI deve essere superata su tutti i commit prima del merge per evitare fallimenti CI non correlati alle nuove pull request.
Le modifiche dovrebbero essere testate da qualcuno diverso dallo sviluppatore che ha scritto il codice. Questo è particolarmente importante per modifiche grandi o ad alto rischio. È utile aggiungere un piano di test alla descrizione della pull request se il test delle modifiche non è semplice.
Le modifiche alle traduzioni e le nuove traduzioni possono essere inviate alla pagina Transifex di Bitcoin Core.
Le traduzioni vengono periodicamente prelevate da Transifex e unite nel repository git. Vedi il processo di traduzione per i dettagli su come funziona.
Importante: Non accettiamo modifiche alle traduzioni come pull request su GitHub perché la successiva estrazione da Transifex le sovrascriverebbe automaticamente di nuovo.