Bitcoinj es una biblioteca Java para implementar billeteras de bitcoin y nodos SPV. Usa filtros Bloom para descargar solo las transacciones relevantes de la red y así ahorrar ancho de banda y recursos. Ha sido usada en aplicaciones como Bitcoin Wallet, Multibit y Hive. El documento explica qué es bitcoinj, cómo funciona, sus clases principales y cómo el autor la usa en proyectos como una billetera SMS.