GoodDocs
  • Welcome to GoodDocs!
  • GoodDollar Ecosystem Vision
  • About the Protocol
    • Usage
    • Tokenomics
    • Sybil-Resistance
    • Protocol V3 Documentation
      • Architecture & Value Flow
      • System's Elements
      • Core Contracts & API
        • GoodDollar
        • GoodCompoundStaking V2 (DAI)
        • GoodAaveStaking V2 (USDC)
        • GoodReserveCDai
        • GoodFundManager
        • GoodMarketMaker
        • ContributionCalculation
        • UBIScheme
        • Identity
        • FirstClaimPool
        • AdminWallet
        • OneTimePayments
        • DonationsStaking
        • NameService
        • GReputation
        • CompoundVotingMachine
        • StakersDistribution
        • UniswapV2SwapHelper
        • Invites
        • GovernanceStaking
        • ClaimersDistribution
        • CompoundStakingFactory
        • AaveStakingFactory
        • ExchangeHelper
        • FuseFaucet
        • GoodDollarMintBurnWrapper
      • Previous Protocol Versions
        • Protocol V1
          • Architecture & Value Flow
          • Core Contracts & API
        • Protocol V2
          • Architecture & Value Flow
          • System's Elements
            • 1. The token (G$)
            • 2. The Reserve
            • 3. The Trust
            • 4. Staking rewards (APR)
            • 5. The Fund Manager
            • 6. The Distribution Contract (DisCo)
            • 7. Governance (DAO)
          • Core Contracts & API
            • GoodDollar
            • GoodCompoundStaking V2 (DAI)
            • GoodAaveStaking V2 (USDC)
            • GoodReserveCDai
            • GoodFundManager
            • GoodMarketMaker
            • ContributionCalculation
            • UBIScheme
            • Identity
            • FirstClaimPool
            • AdminWallet
            • OneTimePayments
            • DonationsStaking
            • NameService
            • GReputation
            • CompoundVotingMachine
            • StakersDistribution
            • UniswapV2SwapHelper
            • Invites
            • GovernanceStaking
            • ClaimersDistribution
            • CompoundStakingFactory
            • AaveStakingFactory
            • ExchangeHelper
            • FuseFaucet
  • User Guides
    • Buy & Sell G$
    • Stake to create UBI
    • Claim GOOD and G$X
    • Bridge GoodDollars
    • Connect another wallet address to identity
  • Liquidity
  • Wallet and Products
    • GoodWallet
    • GoodDapp
    • New GoodWallet
    • GoodCollective
    • GoodID & GoodOffers
    • 3rd Party Partners and Integrations
  • Frequently Asked Questions
    • Web3 basic knowledge and security tips - by Consensys
    • About GoodDollar
    • GoodDollar Protocol & G$ Token
    • Using GoodDollar
    • GoodDollar Community
    • Troubleshooting
  • For Developers
    • Contributing to GoodDollar
    • GoodDapp Developer Guides
      • Deploy your own GoodDapp UI
    • APIs & SDKs
      • Claim UBI
      • React Hooks Setup
      • Login With GoodDollar
      • Sybil Resistance
        • Identity (Ethers v5 / React)
        • Identity (Viem/Wagmi)
  • Useful Links
    • GoodDollar.org
    • GoodDapp
    • GoodWallet
    • GoodDollar User Guides
    • Statistics Dashboard
    • GoodDollar Whitepaper
    • GoodDollar Litepaper
    • GoodDollar Litepaper - Español
Powered by GitBook
On this page
  • Issues
  • Pull Requests
  • Scoutgame Developers
  • Wishlist
  • A Big Thank You!

Was this helpful?

  1. For Developers

Contributing to GoodDollar

PreviousFor DevelopersNextGoodDapp Developer Guides

Last updated 2 months ago

Was this helpful?

When contributing to this project, please do first discuss the change you wish to make via any .

The GoodDollar project is distributed across . Please file the issue against the correct repository.

Issues

Issues are always welcome. Feature requests, bug reports, documentation improvements, and any other kind of contribution will be triaged and worked on according to the community and maintainers' prioritization and best effort.

Pull Requests

In general, project .

  1. Fork and clone the project locally.

  2. Create an upstream remote and sync local copy before branching.

  3. Use individual feature branches for each separate piece of work.

  4. Code changes and tests accordingly. Writing good commit messages, making sure tests pass, maintaining coverage level, and following existing documentation.

  5. Push to origin (fork) repository.

  6. Create a new pull request.

  7. Work with maintainers on code review feedback.

Scoutgame Developers

For the most part, you can follow the contribution guidelines written below. Full description about the scoutgame and participation can be found here:

Any support needed during your time building?

  • For high-level questions the comment section of the issue you are working on is a good place to ask them.

  • (Don't forget to request a scout label on Discord!)

  1. Understand the Repositories:

    • Familiarize yourself with the architecture and functionality of the repository from which you take an issue.

    • Read existing code to understand structure and best practices. Always try to follow similar patterns / re-use existing helper methods.

    • If UI, verify if there are existing components you can utilize, and make sure your addition fits into existing design.

  2. Select and Understand the Issue:

    • Review the reported issue carefully to ensure clear understanding.

    • Clarify any uncertainties by asking detailed questions—don't hesitate to seek guidance.

    • Ask, Ask, And Ask again

  3. Fork and Clone:

    • Fork the repository.

  4. Reproduce the Issue:

    • Run the existing codebase and reproduce the behavior or issue reported.

  5. Prepare and Learn:

    • If the coding language or technology is new, complete a brief introductory course to familiarize yourself.

  6. Implement Your Solution:

    • Develop your solution based on the issue's requirements.

    • While we don't enforce strict rules, we kindly expect adherence to the default principles of the frameworks and languages in use.

    • Seamlessly integrate your solution into the larger codebase—if existing code can be utilized, please do so!

    • For UI components: If no UI is provided, feel free to craft your own design, keeping in mind essential UI/UX principles.

    • If you're unsure about any part of the process, implementation, or a decision to make, we're here and more than happy to guide you.

  7. Documentation and Examples:

    • Provide clear documentation and, if applicable, relevant examples or demonstrations of your solution.

  8. Submit Your Pull Request (PR):

    • Clearly mention the issue in your PR and describe your solution thoroughly to facilitate quicker reviews.

    • If a new feature involving UX/UI is added, show a demo video, or screens. Most of our apps are usable on both desktop/mobile, so make sure they are responsive.

    • Respond promptly to feedback from maintainers and incorporate requested changes.

    • Make sure there are no build errors and typings are applied correctly (most of our projects use TypeScript). Utilize existing linting configuration like prettier and eslint.

      • in the root of the project, add a folder .vscode in .vscode, add a file settings.json

      • add the following settings:

{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnPaste": false, // required 
  "editor.formatOnType": false, // required
  "editor.formatOnSave": true, // optional 
  "editor.formatOnSaveMode": "file", // required to format on save
  "files.autoSave": "onFocusChange", // optional but recommended
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit"
  },
"[typescriptreact]": {
  "editor.defaultFormatter": "esbenp.prettier-vscode"
}, 
"[jsonc]": {
  "editor.defaultFormatter": "esbenp.prettier-vscode"
}
}

Wishlist

The community is always coming up with ideas on what to build on GoodDollar.

A Big Thank You!

Whether large or small, your contributions to this project take this initiative a step closer to reducing wealth inequality through blockchain technology. Thank you for taking the time to contribute.

More in depth questions or support required. Please create a ticket on

If using VSCode, you can for example use the

Here you can find some from a Hackathon in partnership with Superfluid. We also have our as part of the GoodBuilders program.

the scoutgame support channel.
esbenp.prettier extension
recent ideas
ideas board
multiple repositories
GoodDollar
GoodDollar
follows the GitHub flow
GoodDollar Partner Rewards
communication channel

Win Rewards: Building something on GoodDollar!

Share your ideas, or ask for development support. Be sure to check out the For discussion on Discord or various program events: We are also on Telegram:

GoodBuilders Program!
GoodDollar Discord Development
GoodDollar Builders