Skip to content

Latest commit

 

History

History
106 lines (76 loc) · 2.26 KB

File metadata and controls

106 lines (76 loc) · 2.26 KB

Contributing to GoTRON SDK

Thank you for your interest in contributing to GoTRON SDK! This guide will help you get started.

Development Setup

Prerequisites

  • Go 1.25 or higher
  • Make
  • Protocol Buffers compiler (only if regenerating protos)

Clone and Build

git clone https://github.com/fbsobreira/gotron-sdk.git
cd gotron-sdk
make

Run Tests

# Unit tests
make test

# Integration tests (requires network access)
make test-integration

Linting and Formatting

# Run linter
make lint

# Run goimports
make goimports

# Tidy modules
make tidy

How to Submit a Pull Request

  1. Fork the repository on GitHub.
  2. Clone your fork locally:
    git clone https://github.com/<your-username>/gotron-sdk.git
  3. Create a branch for your change:
    git checkout -b feature/my-change
  4. Make your changes and ensure they pass all checks:
    make goimports
    make lint
    make test
  5. Commit your changes (see commit format below).
  6. Push to your fork and open a Pull Request against master.

Code Style

  • Format all code with gofmt and goimports (make goimports).
  • Follow standard Go conventions and idioms.
  • Run make lint before submitting and fix any warnings.
  • Keep changes focused — one logical change per PR.

Commit Format

We follow Conventional Commits:

<type>(<scope>): <description>

[optional body]

Types: feat, fix, docs, test, refactor, chore, ci, perf

Examples:

feat(client): add GetAccountResource method
fix(address): handle empty base58 input
docs: update SDK usage examples
test(client): add mock tests for transfer

Finding Work

Look for issues labeled good first issue — these are great starting points for new contributors.

Reporting Bugs

Open an issue on the Issue Tracker with:

  • A clear description of the problem
  • Steps to reproduce
  • Expected vs. actual behavior
  • Go version and OS

License

By contributing, you agree that your contributions will be licensed under the LGPL-3.0 License.