paltalabs / soroban-react

@soroban-react is a simple, powerful framework for building modern Soroban dApps using React.
https://soroban-react.paltalabs.io/
Apache License 2.0
31 stars 15 forks source link

@soroban-react

@soroban-react is a simple, powerful framework for building modern Soroban dApps using React.

Check the technical docs in https://soroban-react.paltalabs.io/

Made by ❤️ by the PaltaLabs 🥑 team.

Packages

Package Version
@soroban-react/chains npm version
@soroban-react/connect-button npm version
@soroban-react/contracts npm version
@soroban-react/core npm version
@soroban-react/freighter npm version
@soroban-react/types npm version
@soroban-react/utils npm version
@soroban-react/wallet-data npm version
@soroban-react/events npm version

you can set the default rpc with:

  <SorobanReactProvider
    chains={chains}
    appName={'Soroswap'}
    connectors={connectors}
    activeChain={{
      ...activeChain,
      sorobanRpcUrl:
        'https://testnet.stellar.validationcloud.io/v1/Mewk7YPYiUy3wAlDNlQsIhwxbdumICRYrz2tXS2vOck',
    }}
  >
    {children}
  </SorobanReactProvider>

or if you are not sending an default activeChain:

   <SorobanReactProvider
      chains={chains}
      appName={'Soroswap'}
      connectors={connectors}
      server={fromURLToServer('https://testnet.stellar.validationcloud.io/v1/Mewk7YPYiUy3wAlDNlQsIhwxbdumICRYrz2tXS2vOck')}
    >
      {children}
    </SorobanReactProvider>

Introduction

@soroban-react is a simple, powerful framework for building modern Soroban dApps using React. Its marquee features are:

Usage:

See the official gitbook: https://soroban-react.gitbook.io/index/ You can also contribute to the Gitbook by editing the docs folder in this repo

Install:

First open the node container, this will help all devs to build the project with the same environment: bash run.sh Install all sub-packages with just yarn

Run tests

Currently tests are only working when installing with npm i. Why? Currently tests are supporting the chains, core, events & contracts packages

rm -R node_modules
npm i
npm run test

Format Code with Prettier

To format the code using Prettier, you can run the following script:

yarn prettier-format

This will

Generate Documentation

To generate the documentation for @soroban-react, run the following command:

yarn doc

This will

Build and publish using lerna

First, be sure to be logged in with an authorized npmjs account for publishing, you can verify this with

npm whoami

If you are not logged in you have to login before continuing, using

npm login

Then, commit your changes with conventional commits with

git commit -m "feat(SUB_PACKAGE_NAME): change"

And finally

yarn build
yarn lerna-publish

This will

If you forgot to login and lerna-publish stopped early, the risk is that it will consider that packages are published even if they are not really and not be able to finish to publish them. If this is the case, discard the possible uncommitted changes made by lerna-publish and run

yarn run lerna publish --no-private --conventional-commits from-git

This should save it.

Upgrade in your project:

yarn upgrade --latest --patern @soroban-react

Implementations

Projects using @soroban-react include:

Open a PR to add your project to the list! If you're interested in contributing .

Analize, test and approve a PR

git remote add REMOTE_USERNAME http://github.com/REMOTE_USERNAME/soroban-react.git
git checkout -b REMOTE_USERNAME-name_of_pull_request main
git pull REMOTE_USERNAME-name_of_pull_request pull_request_branch

Step 2: Merge the changes and update on GitHub.

git checkout main
git merge --no-ff branch_name
git push origin main

Publish one version for all

Sometimes you want all the packages to carry the same version.

yarn exec lerna version --force-publish

yarn exec lerna publish from-package

Thanks

Library created based on the code written by https://github.com/paulbellamy.