Skip to content
P

Pedulichain

Transparent Charity on Blockchain

Created on 3rd August 2025

•

P

Pedulichain

Transparent Charity on Blockchain

The problem Pedulichain solves

Traditional charitable giving often suffers from:

Lack of Transparency: Donors cannot track where their money goes, leading to distrust.

Centralized Control: Single institutions decide fund distribution without community input.

Slow Reporting: Manual audits and paper reports delay impact updates.

Verification Gaps: No immutable proof that donations were used as promised.

PeduliChain tackles these issues by:

Recording every donation on a public blockchain, viewable in real time.

Empowering donors to vote on how funds are spent, ensuring democratic governance.

Automating disbursement proposals and execution once a majority approves.

Storing proof of impact (receipts, images, reports) on IPFS, linked by immutable CIDs.

Use Cases & Benefits:

Non-profits & NGOs: Launch campaigns and invite global donors to transparently fund projects.

Community-Led Initiatives: Neighborhood, student, or environmental groups can fundraise and govern their budgets.

Corporate Social Responsibility: Companies can prove to stakeholders exactly how CSR funds are allocated and spent.

Disaster Relief: Fast, auditable donations and community-approved fund release to first responders.

Challenges I ran into

Asynchronous RPC Timeouts (UND_ERR_HEADERS_TIMEOUT & ECONNRESET):
Public Sepolia RPC endpoints occasionally timed out or reset connections.
Solution: Integrated multiple reliable endpoints (Infura, Ankr, Thirdweb) with long HTTP timeouts in Hardhat config.

Ethers.js v6 Migration:
Methods like .deployed() and ethers.utils.parseEther() changed in v6.
Solution: Switched to await contract.waitForDeployment(), ethers.parseEther(), and contract.getAddress() for seamless deployment.

Blockscout Verification Delays:
Blockscout often reported “The address is not a smart contract” due to indexing lag.
Solution: Added fully‐qualified contract paths in verify:verify calls, introduced a manual delay, and ultimately verified via hardhat run with explicit contract fields.

TypeScript + Vite + Rollup Chunk Warnings:
Large dependencies triggered chunk‐size warnings.
Solution: Implemented dynamic imports and manual chunk splitting in Vite config to optimize bundles.

3D Globe Performance Tuning:
Initial globe rendering lagged with many campaigns.
Solution: Batching marker geometry, lazy‐loading data, and throttling camera updates with Framer Motion eased CPU/GPU load.

Discussion

Builders also viewed

See more projects on Devfolio