How to Set Up Your Joystream Development Environment

Oct 27, 2023 | Blockchain

Welcome to the world of Joystream! Here, we will guide you through the process of setting up your very own Joystream development environment and start contributing to the network. With the Joystream software repository, you can access a full node, runtime, reusable substrate modules, and all the necessary front-end applications. Let’s dive in!

Overview

Joystream is built on the substrate blockchain framework, enhancing it to support various roles on the platform. Think of Joystream as a multi-functional toolbox that allows developers to create and manage a blockchain network effectively.

Prerequisites for Development

To achieve the best outcomes during your development journey, it’s essential to use GNULinux with at least glibc version 2.28, specifically with node.js version 18 or newer. We recommend using Ubuntu 20.04 or a more recent version.

  • Check your glibc version using: ldd --version

Required Tools to Get Started

This is your toolkit for building, testing, and contributing to the Joystream repository:

  • Rust toolchain – required
  • Node.js version 14.18.x – required (though Volta might use v18.6)
  • Yarn Classic package manager v1.22.x – required
  • Docker v2.20.x or higher – required
  • Ansible – optional

Initial Setup

After you’ve ensured that you have your tools ready, clone the Joystream repository and follow the next steps to set it up:

sh setup.sh

If You Prefer Your Own Node Version Manager

You can also install development tools without using the Volta version manager:

sh setup.sh --no-volta

For Older Operating Systems

If your system doesn’t support Node 18, you might need to make some adjustments:

  • Modify the root package.json file, changing the Volta section to use Node version 16.20.1.
  • json
    volta: {
        node: "16.20.1",
        yarn: "1.22.19"
    }
    

Running Your Local Development Network

Now it’s time to set up your local development network:

git checkout master
WASM_BUILD_TOOLCHAIN=nightly-2022-11-15 cargo build --release --target release/joystream-node -- --pruning archive --chain joy-mainnet.json

You can learn more about the joystream-node in its README file. For a complete step-by-step guide, refer to this resource.

Testing Your Setup

To ensure everything is running smoothly, you can build and run integration tests:

yarn build
RUNTIME_PROFILE=TESTING yarn build:node:docker
yarn test

Troubleshooting

During your development journey, you may encounter some bumps in the road. Here are some troubleshooting tips:

  • Ensure that all required tools are installed correctly and up to date.
  • If you face issues related to build errors in your IDE, remember to start your editor with BUILD_DUMMY_WASM_BINARY=1.
  • For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Contributing to Joystream

Your contributions are welcome! Whether you’re a developer or not, there are plenty of ways to help out. You can exchange feedback, test software, and address any open issues. Follow our good first issues to begin your journey in contributing.

Final Thoughts

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox