Project Name: TronPixels
Project Track: Artistry
Team Name: TronPixels
Team Member(s): @Radiant [main contact] & @Leo_Vero
DevPost Project Link: TronPixels | Devpost
Project Goal: TronPixels aims to empower users to create, share, and engage with pixel art directly on BTTC. By providing a decentralized canvas, TronPixels combines the freedom of creative expression with the transparency and security of blockchain technology.
Project Value: TronPixels brings the world of digital art into the decentralized space by leveraging blockchain for storing immutable pixel art. This ensures that user creations are permanent, transparent, and verifiable on the blockchain, while enabling a global community of creators to interact and collaborate. With its community-driven voting system, TronPixels fosters engagement, incentivizing artists and art enthusiasts alike.
Project Info:
TronPixels.pdf (614.9 KB)
Project Website: tronpixels.com/
Project Test Instructions:
- Connect MetaMask to the BitTorrent Chain (BTTC) Mainnet.
- Navigate to the TronPixels platform via the project website.
- Create Art by using the 25x25 pixel grid with color and structure options.
- Submit your artwork with a title, description, and tags directly to the blockchain.
- Interact with the community by browsing others’ pixel arts and upvoting your favorite pieces.
Project Details: youtu.be/YTk-nzvotZQ
Project Source Codes: GitHub - TronPixels/TronPixels
Smart Contract links: (BTTC Mainnet)
- Canvas Contract: CanvasManager | Address 0xB3179ec4d83ed51BD9f98980beA6d42dedff10D3 | BTTCScan
- Upvote Contract: UpvoteManager | Address 0xb637e022689Cf260c007889DE226EC13A7CebD17 | BTTCScan
Project Milestones:
[Oct 1 - Oct 16]:
- Core development of 25x25 pixel grid with colors and structures.
- Deploy canvas and upvote smart contracts on BTTC mainnet.
- Conduct internal testing and ensure smooth mainnet interactions.
[Oct 16 - Oct 31]:
- Scale up platform functionality and drive community engagement.
- Improve UI for better user experience.
- Gather community feedback and continue debugging on mainnet.
[Oct 1 - Dec 1]:
- Expand grid to 100x100 and enhance the color palette & structures.
- Introduce advanced features and grow the user base.
- Focus on increasing interactions and platform stability.
[Dec 1 - Dec 31]:
- Monitor platform performance and optimize for larger grids.
- Plan future features like NFT integration and community events.
- Organize competitions to encourage creativity and participation.
Why TronPixels?
- Creative Freedom: There are no barriers or censorship—every user has the freedom to create and express.
- Community-Driven: Through upvotes, users can engage with and support their favorite artworks.
Speed Optimization:
- Parallel Data Fetching with Promise.all(): Instead of fetching blockchain data sequentially (e.g., canvases and their upvotes one by one), we optimized performance by fetching multiple requests in parallel using Promise.all(). This reduced the overall data retrieval time by allowing concurrent execution of multiple calls. This one helped us the most to optimize the speed by reducing time of 5-6 seconds. Moreover, we combined it with asynchronous JS functions (async/await) so that we ensured non-blocking behavior during content loading from the blockchain.
- Lazy Loading of Content: To improve perceived performance and reduce the initial load time, we implemented lazy loading. The platform now loads the first few pieces of content immediately and delays the loading of additional content in the background. This provides users with faster access to initial content while allowing the rest to load incrementally. This progress saved us 2-3 seconds more.
(After all, instead of loading all content in 10-12 seconds, finally we load it in around 2-3 seconds.)