- Implement network management with mainnet/testnet/local support - Add blockchain builder for L1/L2/L3 chains with multiple VM types - Create P-Chain, C-Chain, X-Chain managers with mock implementations - Fix bech32 encoding using btcsuite library (all crypto tests pass) - Clean up dependencies and remove non-existent package references - Archive old incompatible code to .archive/ directory - Add working mainnet boot example (21 validators, 3 chains) - Configure CI/CD pipeline with Go 1.24.5 - Add golangci-lint and goreleaser configurations - Achieve 100% test pass rate across all packages This SDK now provides a clean foundation for Lux blockchain development with mock implementations ready for integration with actual node software.
1.6 KiB
Contributing to sdk
Thank you for your interest in contributing to sdk! By contributing to sdk, you are helping to build the foundation for the next generation of blockchains and decentralized applications.
Getting Started
Prerequisites
To contribute to sdk, you'll need:
- Go 1.20 or higher
Setting up your development environment
- Clone the repository:
git clone https://github.com/luxfi/sdk.git
cd sdk
- Install the dependencies:
go mod download
This will download and install all required dependencies for the project.
Building and running tests
To build and run tests for the sdk, simply run:
./scripts/tests.unit.sh
This will build and run all tests for the project.
Running linters
To run the linters, simply run:
./scripts/tests.lint.sh
This will run the linters on all code in the project.
The sdk project also has a fixer that tries to help. To run the fixer, simply run:
./scripts/fix.lint.sh
Contributing
We welcome contributions to sdk! To contribute, please follow these steps:
-
Fork the repository and create a new branch for your contribution.
-
Make your changes and ensure that all tests pass and linting is clean.
-
Write tests for any new features or bug fixes. (If necessary)
-
Submit a pull request with your changes.
Pull Request Guidelines
When submitting a pull request, please ensure that:
-
Your code is formatted using
go fmt. -
Your code is properly tested.
-
Your code passes all linters.
-
Your pull request description explains the problem and solution clearly.