@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.
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>
@soroban-react
is a simple, powerful framework for building modern Soroban dApps using React. Its marquee features are:
Full support for Freighter
A dev-friendly context containing the current account and chain, and more, available globally throughout your dApp via a React Context.
The ability to write custom, fully featured Connectors that manage every aspect of your dApp's connectivity with the Soroban blockchain and user accounts.
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
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
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
To format the code using Prettier, you can run the following script:
yarn prettier-format
This will
packages
folder and apply the formatting rules specified in the Prettier configuration .prettierc
.To generate the documentation for @soroban-react
, run the following command:
yarn doc
This will
.tsx
files within the packages
directory and generate Markdown documentation.docs
directory as a README.md
file.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.
yarn upgrade --latest --patern @soroban-react
Projects using @soroban-react
include:
Open a PR to add your project to the list! If you're interested in contributing .
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
Sometimes you want all the packages to carry the same version.
yarn exec lerna version --force-publish
yarn exec lerna publish from-package
Library created based on the code written by https://github.com/paulbellamy.