stellar / basic-payment-app

An example payments application demonstrating integrations of various features and SEPs in a user-facing product.
https://github.com/stellar/basic-payment-app
Apache License 2.0
7 stars 11 forks source link

Enable interactions with smart contracts #8

Open ElliotFriend opened 2 days ago

ElliotFriend commented 2 days ago

Now that Stellar smart contracts are live on Mainnet, this application could be a good demo of how to interact with those contracts from a wallet's perspective.

I'm somewhat envisioning another entry in the dashboard's sidebar that takes the user to a page where they can enter a contract's C... address, the contract Client can be auto-generated from the address (will need to get the underlying Wasm hash), and then they can interact with all the various functions of the contract.

Would be nice to have another Svelte store that keeps track of "saved contracts" or something, too.

CollinsC1O commented 1 day ago

@ElliotFriend i will love to work on this

onlydustapp[bot] commented 1 day ago

Hi @CollinsC1O! Maintainers during the ODHack # 8.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.

gregemax commented 1 day ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have experience in JavaScript and developing applications with Svelte, focusing on integrating blockchain technology using the Stellar SDK. My skills in creating user interfaces and managing state with Svelte stores will enable me to effectively implement the demo application for interacting with Stellar smart contracts.

How I plan on tackling this issue

I would design a user-friendly interface in Svelte for users to enter contract addresses, auto-generate the contract client using the Stellar SDK, and retrieve the WASM hash. Additionally, I’d implement a Svelte store to manage "saved contracts," ensuring a seamless experience for users to interact with various contract functions. Finally, I’d thoroughly test the implementation for reliability.

josephchimebuka commented 1 day ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello @ElliotFriend I am Joseph I am a Software developer and blockchain developer and I am also an active contributor here on only dust here is my profile https://app.onlydust.com/u/josephchimebuka. This is my first time to contribute to this repo ill appreciate the opportunity to contribute.

How I plan on tackling this issue

To solve this, I will add a new entry in the dashboard's sidebar that directs users to a page where they can enter a smart contract's "C..." address. Upon entering the address, the contract Client will be auto-generated by fetching the underlying Wasm hash. I will implement the ability for users to interact with various contract functions by dynamically generating the interface based on the contract's methods. Additionally, I will create a new Svelte store to keep track of "saved contracts," allowing users to easily manage and interact with previously entered contracts. I will complete this in 3-4 days ser

ScottyDavies commented 1 day ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have a strong background in JavaScript and TypeScript development, with experience in integrating SDKs and managing user authentication flows.

How I plan on tackling this issue

I would approach this issue with the following steps:

Start by reviewing the documentation for the new package to understand any differences or improvements.

Identify Usage: Audit the current codebase to identify all instances where @stellar/wallet-sdk is used.

Implement Changes: Gradually replace the deprecated package with the new one, adapting the code to fit the new API as needed.

Testing: Thoroughly test the application to ensure that all functionalities work correctly after the migration.

Update Dependencies: Finally, update the package.json to remove the deprecated package and include the new one.

Emeka-12 commented 23 hours ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

i have a good background in javascript, python and basic Cairo knowledge, i do believe this would go a long way in the improvement of the basic payment app project.

How I plan on tackling this issue

First, I will take a dip look into the entire project and know what is required before diving to solve the problem of smart contract integration.

Joewizy commented 6 hours ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hi my name is Joseph Gimba a computer engineer graduate that has passion for web3 and blockchain development, I have experience in writing smart contracts as well as integrating with JavaScript to build user friendly frontend apps.

How I plan on tackling this issue

Create a simple page that allow users enter their contract address and get then get theWasm hash to create a contract client and create a simply UI for the functions which would be used to interact with the contract. And finally create a Svelte store to keep track of the save contracts would make sure to check if the contract is not on the list before adding it.

Ugo-X commented 3 hours ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, Solidity and rust. My journey with OnlyDust hackathons began at Edition 1, and I've since made 69 contributions across 14 projects. With my extensive experience on the OnlyDust platform (profile: https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure.

I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges.

As we surf through Edition 8, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.

How I plan on tackling this issue

I will approach this issue in the following manner:

  1. I will create a new page component for smart contract interaction, adding it to the dashboard sidebar.

  2. I will implement a function to generate a contract Client from a given C... address, fetching the Wasm hash as needed.

  3. I will create a Svelte store to manage saved contracts, with persistence to local storage.

  4. I will design and implement a user interface for contract interaction, including:

    a. An input field for the contract address

    b. A dynamically generated interface based on the contract's functions

    c. A list of saved contracts for quick access

  5. I will implement error handling and validation for contract interactions.

  6. I will add appropriate documentation and comments to explain the smart contract interaction process.