You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
go get -u github.com/bitcoin-sv/spv-wallet-go-client
Requirements
Go Version: The spv-wallet-go-client requires Go version 1.22.5 or a later supported release of Go. Ensure your Go environment meets this requirement before using the client.
Compatibility and Support
Deprecation Notice
The client does not support the following:
Admin and non-admin old endpoints of the SPV Wallet API based on the /v1/ prefix.
Deprecated methods for building query parameters for HTTP requests.
Current Compatibility
The client is designed for full compatibility with the newer /api/v1/ endpoints exposed by the SPV Wallet API. It focuses on aligning with the latest standards and structure provided by the API.
While the client strives to support the latest API features, there may be a delay in fully integrating new functionalities. If you encounter any issues or have questions:
Refer to the official documentation.
Reach out for support to ensure a smooth development experience.
Quick start
The implementation enforces separation of concerns by isolating admin and non-admin APIs, requiring separate initialization for their respective clients. This ensures clarity and modularity when utilizing the exposed functionality.
Description: Initializes a UserAPI instance using an extended public key (xPub).
Note: Requests made with this instance will not be signed.
Security Advisory: For enhanced security, it is strongly recommended to use either NewUserAPIWithAccessKey or NewUserAPIWithXPriv instead, as unsigned requests may be less secure.
Description: Initializes a AdminAPI instance using an extended public key (xPub).
Note: Requests made with this instance will not be signed.
Security Advisory: For enhanced security, it is strongly recommended to use either NewAdminAPIWithXPrivinstead, as unsigned requests may be less secure.
The current implementation includes comprehensive support for:
Unit Tests: To validate individual components and ensure they work as expected in isolation.
Regression Tests: To verify compatibility with the latest released version of the SPV Wallet API and to prevent unintended functionality breaks.
These tests ensure a stable and reliable integration with the SPV Wallet API, maintaining high-quality code and robust functionality.
Commands
Run all tests (including integration tests)
make test
Run tests (excluding integration tests)
make test-short
Development Guidelines
Each new proposed functionality must adhere to the following principles:
Code of Conduct: Contributions should align with the repository's code of conduct, fostering a positive and collaborative environment.
Repository Standards: Proposals and implementations should strictly follow the coding standards, conventions, and best practices outlined in the repository documentation.
By adhering to these guidelines, contributors can ensure that their changes are consistent, maintainable, and compatible with the SPV Wallet API.