-
Notifications
You must be signed in to change notification settings - Fork 3
feat(#608): add certificate server example #620
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Implemented configuration loading and validation in config package. - Added constants for configuration and certificate validation. - Created domain logic for certificate validation and signing. - Developed example setup for local and remote storage management. - Established server structure with HTTP routing for certificate signing requests. - Integrated service layer for handling certificate operations. - Implemented HTTP transport for processing certificate signing requests.
…tion and handling
Manual Testsℹ️ Remember to ask team members to perform manual tests and to assign |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a comprehensive certificate signing server example implementation using the BSV blockchain SDK. It demonstrates certificate validation, signing workflows, and HTTP transport layer functionality.
Key changes include:
- Implementation of a complete certificate signing server with HTTP endpoints and configuration management
- Addition of certificate validation logic and service layer for handling signing requests
- Creation of local and remote storage support utilities with SQLite backing
Reviewed Changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
cmd/server/main.go | Main entry point for the certificate server application |
internal/config/config.go | Configuration loading and validation with YAML support |
internal/constants/constants.go | Application constants for ports, certificate types, and field names |
internal/domain/certificate.go | Certificate validation logic and field conversion utilities |
internal/service/certificate_service.go | Core certificate signing service with field decryption |
internal/server/server.go | Server initialization and HTTP route setup |
internal/transport/http/certificate.go | HTTP handler for certificate signing requests |
internal/example_setup/setup.go | Wallet creation utilities supporting local and remote storage |
internal/example_setup/create_storage.go | Local SQLite storage provider creation with monitoring |
test_sign_certificate/main.go | Test client for certificate signing workflow validation |
go.mod | Go module definition with BSV SDK dependencies |
config.example.yaml | Example configuration file with wallet and server settings |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
...ples/complex_wallet_examples/certifier_server_example/internal/transport/http/certificate.go
Show resolved
Hide resolved
examples/complex_wallet_examples/certifier_server_example/internal/constants/constants.go
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 12 out of 13 changed files in this pull request and generated 3 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
...ples/complex_wallet_examples/certifier_server_example/internal/transport/http/certificate.go
Outdated
Show resolved
Hide resolved
examples/complex_wallet_examples/certifier_server_example/internal/constants/constants.go
Outdated
Show resolved
Hide resolved
examples/complex_wallet_examples/certifier_server_example/test_sign_certificate/main.go
Outdated
Show resolved
Hide resolved
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Closes #608
This pull request introduces a new example implementation for a certificate signing server using the BSV blockchain SDK. It includes configuration management, server setup, certificate validation and signing logic, local and remote storage support, and an HTTP transport layer for handling certificate signing requests. The changes establish a modular structure with clear separation of concerns, making it easier to extend and maintain.
Server and Application Setup:
main.go
that loads configuration, validates it, initializes the server, and starts listening for HTTP requests.Server
struct and its initialization logic, including certifier wallet setup and HTTP route handling ininternal/server/server.go
.Configuration and Constants:
internal/config/config.go
, supporting both local and remote storage setups.Certificate Domain and Service Logic:
internal/domain/certificate.go
.internal/service/certificate_service.go
.Storage and Example Setup:
internal/example_setup/create_storage.go
andinternal/example_setup/setup.go
. [1] [2]HTTP Transport Layer:
internal/transport/http/certificate.go
.