soroban-example-dapp icon indicating copy to clipboard operation
soroban-example-dapp copied to clipboard

ODHack: Add Stellar Wallets Kit

Open Julian-dev28 opened this issue 1 year ago • 11 comments

Please add PRs to the update-P21 branch

Description: Integrate the Stellar Wallet Kit into the Soroban Example Dapp to enable more wallet choices.

Repository: Stellar Wallets Kit

Tasks:

  • Integrate the wallet functionality into the Soroban Example DApp.
  • Test the wallet integration to ensure it works seamlessly.
  • Document the integration process and any modifications made.

Expected Outcome:

  • A fully integrated Stellar Wallet Kit within the Soroban Example DApp.
  • Comprehensive documentation on the integration process.
  • A demo showcasing the wallet functionality.

Why This Is Important:

  • Integrating the Stellar Wallet Kit will enhance the Soroban Example DApp's capabilities, providing a robust and secure solution for choosing various wallets within the Stellar ecosystem.

Julian-dev28 avatar Jul 02 '24 03:07 Julian-dev28

Hello @Julian-dev28 ,

I'm interested in picking up this issue. I'm Pedro, a full stack developer looking to join the web3 community. I have some experience with Soroban, having managed wallets using soroban-react. Taking a general overview, I think that Stellar-Wallets-Kit seems more maintainable to implement.

By the way, I was looking for a project that already implements the Stellar Wallets Kit. Do you have one to recommend?

Thank you!

PedroCo3lho avatar Jul 05 '24 17:07 PedroCo3lho

Hey @PedroCo3lho

Thanks for picking this up!

There are a few commits you can reference that might help you out:

https://github.com/stellar/soroban-dapps-challenge/commit/d53690ec4578a6b0995a5adad3d04e150c6aefdb#diff-8074f794edfcd0a89e53130be3621f6bf4841b14de5bfc20e8e828ee84c4b4cc

https://github.com/stellar/soroban-dapps-challenge/commit/140e212affc673eacaa908d523c974ab4fd3fd24#diff-8234c742ce101536cedd4673e7c856a171b2422e16b315ed07771ff42fc380a6

https://github.com/stellar/soroban-dapps-challenge/commit/b397b177016cec879fc7b8108f00c320d781ee66#diff-f9ca05a175cb7eefe7980619b444695ba3a501d5ee133925e4ac32f3f9291ad5

Looking forward to the results!

Julian-dev28 avatar Jul 06 '24 18:07 Julian-dev28

Hello @Julian-dev28, I probably won't finish this issue by the end of the LambdaHack, because I'm having trouble setting up the repo locally. Specifically, I'm having problems with the deployment of the abundance token contract. Take a look:

#Deploy on Futurenet
npm run setup

> [email protected] setup
> ./initialize.sh ${NETWORK:-futurenet} && npm install

Using soroban binary from ./target/bin
Using futurenet network
  RPC URL: https://rpc-futurenet.stellar.org:443
  Friendbot URL: https://friendbot-futurenet.stellar.org/
Add the futurenet network to cli client
Add futurenet to .soroban-example-dapp for use with npm scripts
Fund token-admin account from friendbot
Build contracts
cargo fmt --all
cargo build --target wasm32-unknown-unknown --no-default-features --release
    Finished `release` profile [optimized] target(s) in 1m 07s
cd target/wasm32-unknown-unknown/release/ && \
        for i in *.wasm ; do \
                ls -l "$i"; \
        done
-rwxr-xr-x 2 pedro pedro 7570 Jul  9 05:00 abundance_token.wasm
-rwxr-xr-x 2 pedro pedro 10798 Jul  9 05:00 soroban_crowdfund_contract.wasm
Deploy the abundance token contract
error: jsonrpc error: ErrorObject { code: InvalidParams, message: "invalid parameters", data: Some(RawValue("json: cannot unmarshal array into Go value of type methods.GetLedgerEntriesRequest")) }

#own Futurenet node
Deploy the abundance token contract
error: jsonrpc error: Networking or low-level protocol error: Server returned an error status code: 405

#Localnet/Standalone
NETWORK=standalone npm run setup

> [email protected] setup
> ./initialize.sh ${NETWORK:-futurenet} && npm install

Using soroban binary from ./target/bin
Using standalone network
  RPC URL: http://localhost:8000/soroban/rpc
  Friendbot URL: http://localhost:8000/friendbot
Add the standalone network to cli client
Add standalone to .soroban-example-dapp for use with npm scripts
Fund token-admin account from friendbot
Build contracts
cargo fmt --all
cargo build --target wasm32-unknown-unknown --no-default-features --release
    Finished `release` profile [optimized] target(s) in 0.88s
cd target/wasm32-unknown-unknown/release/ && \
        for i in *.wasm ; do \
                ls -l "$i"; \
        done
-rwxr-xr-x 2 pedro pedro 7570 Jul  9 05:00 abundance_token.wasm
-rwxr-xr-x 2 pedro pedro 10798 Jul  9 05:00 soroban_crowdfund_contract.wasm
Deploy the abundance token contract
error: jsonrpc error: Parse error: invalid type: integer `5276`, expected a string at line 1 column 227

PedroCo3lho avatar Jul 09 '24 08:07 PedroCo3lho

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hi! I'm Lau Chaves, and I am excited to contribute to this issue!

I bring over five years of experience working with JavaScript, React, TypeScript, and Ruby, Im also a member of the Dojo Coding from Costa Rica. Additionally, I am well-versed with Stellar wallet kits, having previously installed the kit in a local repository and thoroughly read all relevant documentation. Here are some of the resources I've consulted:

How I plan on tackling this issue

To address this issue, my approach would be as follows:

  • Install the Stellar Wallet Kit in the repository.
  • Integrate the wallet functionality into the Soroban Example DApp.
  • Test the wallet integration to ensure seamless operation.
  • Document the integration process and any modifications made.
  • Create a demo showcasing the wallet functionality.

I'll have a pull request ready within 3-5 days!

Thank you for considering my application. I look forward to the opportunity to contribute!

lauchaves avatar Jul 29 '24 03:07 lauchaves

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, I'm a Rust developer, smart contract researcher, and frontend developer. I will leverage my skills on the frontend part of the project and ensure I deliver the best work possible.

How I plan on tackling this issue

The initial step in addressing the problem is to analyze the Dapp's UI and UX to identify any weaknesses. Next, I will outline improvements to make the design more intuitive. Following this, I'll focus on enhancing the Dapp's responsiveness to ensure it operates smoothly and is user-friendly. Testing is crucial, so I will evaluate the Dapp across various browsers and devices.

Samuel1-ona avatar Jul 29 '24 07:07 Samuel1-ona

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello, my name is Bernal. I am a software developer from Costa Rica. Currently, I work as a back-end developer. In my previous job, I worked as a full-stack developer. Personally, I enjoy developing both the back end and the front end. I have 4 years of experience in the software development industry. Some technologies I have worked with include: Typescript, React, C#, and Node.

How I plan on tackling this issue

To reach the solution, the first step is to understand how the project works. This involves familiarizing yourself with the project's documentation, structure, and codebase. Next, thoroughly review the issue description to grasp the problem fully. Based on this understanding, brainstorm and propose a viable solution. Once you have a clear plan, implement the solution in the code. After coding, conduct comprehensive tests to ensure the fix resolves the issue without introducing new problems. Finally, review your changes and prepare them for submission, ensuring all aspects of the issue have been addressed effectively. I have experience with the Stellar Kallet Kit.

BernalHQ avatar Jul 29 '24 07:07 BernalHQ

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I've been working in a project with stellar wallets kit

How I plan on tackling this issue

Implementation of the kit and testing transaction

armsves avatar Jul 29 '24 08:07 armsves

GM GM!!... Hey @Julian-dev28 . I have previously worked with the stellar https://github.com/vmmuthu31/StellarHunt wish to work on this pr please assign me!.. will take over the issue

vmmuthu31 avatar Jul 30 '24 09:07 vmmuthu31

Hi @vmmuthu31! Maintainers during the ODHack #6.0 will be tracking applications via OnlyDust. Therefore, in order for you to have a chance at being assigned to this issue, please apply directly here, or else your application may not be considered.

onlydustapp[bot] avatar Jul 30 '24 09:07 onlydustapp[bot]

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have previously worked on StellarHunt, a project focused on utilizing the Stellar network for secure and efficient transactions. My experience with StellarHunt has given me a solid understanding of the Stellar ecosystem, including wallet integrations and transaction flows. This background will be instrumental in successfully integrating the Stellar Wallet Kit into the Soroban Example DApp, ensuring a seamless and robust solution.

How I plan on tackling this issue

Given my previous experience with StellarHunt, I would approach the integration of the Stellar Wallet Kit into the Soroban Example DApp as follows:

Understand the Existing Codebase:

Start by thoroughly understanding the current implementation of the Soroban Example DApp. Identify key areas where wallet integration will be necessary. Set Up the Environment:

Clone the Stellar Wallet Kit repository and the Soroban Example DApp repository. Ensure both projects are running smoothly in my local development environment. Integrate Stellar Wallet Kit:

Integrate the Stellar Wallet Kit into the Soroban Example DApp, focusing on providing users with various wallet choices. Implement necessary modifications to ensure compatibility and seamless integration. Testing:

Conduct thorough testing to ensure that the wallet integration works as expected. Test various scenarios, including wallet connections, transaction flows, and error handling. Documentation:

Document the entire integration process, including any modifications made to the original codebase. Provide clear instructions for future developers on how to replicate the integration. Demo:

Create a demo showcasing the integrated wallet functionality. Highlight the ease of use and security features provided by the Stellar Wallet Kit. This structured approach will ensure a smooth and efficient integration process, enhancing the capabilities of the Soroban Example DApp with a robust and secure solution for choosing various wallets within the Stellar ecosystem.

vmmuthu31 avatar Jul 30 '24 09:07 vmmuthu31

Hey 👋 is this still open for contribution? If so I'd love to work on it!

I already posted the approach I'd follow some comments above https://github.com/stellar/soroban-example-dapp/issues/155#issuecomment-2254885080

lauchaves avatar Aug 12 '24 17:08 lauchaves