Closed saimeunt closed 2 months ago
I am applying to this issue via OnlyDust platform.
Software engineering background with previous odhack contributions & works on similar tasks looking to make a first contribution on this project
Buy creating the required function and fetching data. And carrying out all necessary implementation with updates & feedback. Looking to complete within 48hrs
I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Please I will like to be assigned this issue. I am a front-end Developer. Please give me the opportunity to contribute to this ecosystem, this is my first time applying here.
How I plan on tackling this issue
how I'll solve this issue I'll:
Create a New Helper Function(that is I'll create a file components/pages/txs/fetch-transactions.ts.
Implement Data Fetching Logic
I'll then update the transactions page to use the new helper function(I'll make sure the helper function works identically
and also create an env file and do the required task to get it done.
hopefully I get assigned and be a contributor
Hi @martinvibes! 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.
I am applying to this issue via https://app.onlydust.com/p/opscan-by-walnut
I would love to contribute to this issue I would come up with a PR within 3-5 working days after been assigned
Hi @martinvibes! 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.
I am applying to this issue via OnlyDust platform.
I have experience working with databases and i would like to contribute to this project.
I am applying to this issue via OnlyDust platform.
I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, and Solidity. My journey with OnlyDust hackathons began at Edition 1, and I've since made 30 contributions across 9 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 6, 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.
I will...
Set up the development environment:
Read and understand the contributors' guidelines:
Analyze the existing codebase:
Create a new helper function:
Implement RPC fetching:
Implement database fetching:
Update the transactions page component:
Set up environment variable:
Implement error handling and logging:
Write unit tests:
Set up and run op-indexer:
Perform integration testing:
Optimize performance:
Update documentation:
Prepare the pull request:
Address review feedback:
Finalize the implementation:
I am applying to this issue via OnlyDust platform.
My name is Collins Ikechukwu. I am a fullstack developer with 4 years of experience. I'm thrilled about the chance to contribute to the Op Scan Project. With 4 years of solid experience in Next.js, TypeScript, Shadcn, and React, Nodejs and PHP I'm confident in my ability to deliver an efficient and user-friendly Contract page for transactions.
Having studied the codebase and discovered that the op-indexer was updated some hours ago, I will try to follow the current components logic and run op-index while fetching the latest transactions.
I will create a helper function fetch-transactions.ts Define a top-level exported function that is data source agnostic. This function will handle the logic for fetching transactions, regardless of whether it's from JSON-RPC or the database.
Implement fetchFromDatabase
Create or update lib/fetch-database.ts, implement the function that queries transactions from the database using Prisma. I will Ensure pagination logic is preserved.
Update lib/fetch-data.ts
I will Move the fetchLatestTransactions function logic from lib/fetch-data.ts to the new helper function. Then call the new function from components/pages/txs/fetch-transactions.ts.
Then update the Page Component
I am applying to this issue via OnlyDust platform.
I have a background in web development, with experience in JavaScript, react, APIs, and also a blockchain developer.
To tackle this problem i will First, define a new environment variable to configure the data source.
I am applying to this issue via OnlyDust platform.
I'm Poulav Bhowmick, with a robust background in TypeScript, fullstack development and blockchain technology. My experience includes building robust applications, optimizing functionalities and blockchain integration. I have actively participated in events and open source contributions, enhancing my capability to tackle real-world tech challenges. My projects can be viewed on my GitHub Profile and OnlyDust Profile. Plus I´m active member of Starknet community🇷. This is my first contribution to Walnut’s Repositories.
To implement fetching latest transactions from either JSON-RPC or a database, I propose the following steps:
Create a new file components/pages/txs/fetch-transactions.ts
with a top-level exported function fetchLatestTransactions
.
Implement two separate functions:
fetchLatestTransactionsFromJsonRpc
: Move the existing logic from lib/fetch-data.ts
.fetchLatestTransactionsFromDatabase
: Implement new logic using Prisma to query the database.In the top-level fetchLatestTransactions
function, use an environment variable (e.g., USE_DATABASE
) to determine which data source to use.
Ensure the pagination logic is preserved when querying data via Prisma in the database function.
Update the transactions page (pages/txs/index.tsx
) to use the new fetchLatestTransactions
function instead of directly calling fetchLatestTransactions
from lib/fetch-data.ts
.
Add necessary type definitions and imports.
Implement error handling and fallback to JSON-RPC if database query fails.
Add unit tests to verify the functionality of both data sources.
Update documentation to reflect the new configurable data source option.
Ensure the op-indexer is running as a background task to keep the database up-to-date.
This approach will maintain the existing design pattern and abstract away the data source, allowing for easy switching between JSON-RPC and database queries.
I am applying to this issue via OnlyDust platform.
Hello! In the last ODhack I contributed to creating the component that shows the latest 10 transactions from the JSON-RPC, I want to help on this one since I have enough context.
Basically following what you already proposed, I have context on the components and the functions that is used now to fetch the JSON-RPC data.
I am applying to this issue via OnlyDust platform.
Hi, my is Adrian, I am a passionate developer looking to collaborate with innovating web3 projects, I got experience using the Typescript language and the Nextjs framework
I am applying to this issue via OnlyDust platform.
My name is Nnawuihe Johnkennedy . I am a software developer with couple years of experience , i build using mern stack and i belive this skills can be leverage and used to solve problems. This is my portfolio: https://johnkennedy.vercel.app/
As a rollup developer using op-scan, fetch the latest transactions data from either JSON-RPC (current behavior) or a database fed by op-indexer. Abstract the data source in a dedicated function, configured via an environment variable, to ensure flexibility and ease of configuration.
The maintainer saimeunt has assigned danielcdz to this issue via OnlyDust Platform. Good luck!
@danielcdz this one goes to you since you're a returning contributor having work on a similar issue in the last hack, good luck!
@saimeunt Thank you sir! working on it
Fetch latest transactions from database
⚠️ Reading contributors guidelines to get assigned is MANDATORY!
Read contributors guidelines
User stories
As a rollup developer using op-scan, I want to fetch the latest transactions data either from JSON-RPC (current behavior) or from a database fed from op-indexer. The data source should be abstracted away in a dedicated function and is configured using an environment variable.
Validation
It should fetch the exact same data whether calling the RPC directly or querying the database. It MUST adhere to the existing design pattern already implemented in the tx details page.
Implementation
Create a new helper function under
components/pages/txs/fetch-transactions.ts
, use the same logic found incomponents/pages/tx/fetch-transaction-details.ts
, a top level exported function which is data source agnostic and 2 separate functions fetching data from either JSON-RPC (this is already implemented here: https://github.com/walnuthq/op-scan/blob/main/src/lib/fetch-data.ts#L30-L111) or from the database (this is what has to be implemented). Move the fetchLatestTransactions data fetching logic from thelib/fetch-data.ts
to this helper function and just call this function in the txs page top-level server component. You will need to make sure the pagination logic is preserved when querying data via Prisma.Run op-indexer as a background task in another terminal along the explorer to keep an up-to-date database mirroring what you'd fetch from the JSON-RPC endpoint.
Resources