J
Jubr1l
Joined
icon image
Celo Community
18.8 REP
4 Feedbacks
0 Submission

FEEDBACK

Submitted

In this tutorial, I covered the process of deploying, debugging, and monitoring a Solidity smart contract on Celo using Hardhat and Tenderly. By the end of this tutorial, you will have a good understanding of the development process and best practices for building and deploying Solidity smart contracts on Celo.

0Points
3 Feedbacks
18.8 REP
Feedback

Hola coinomy, I tried going through your link on th platform but i realized it was referring me to an error 404 page, You shoould resend another feedback with the link as i had to look through sayrarh's feedback to get a hang of what is going on.

What improvements have i made so far

  1. As always i added the SafeMath library from openzepplin which is one of the most secured library for smart contracts.
  2. I gave the return variable of the accountbalance function a name for the code to be easily understood
  3. I made sure that you won't mint to a zero address by adding
1require(to != address(0), "Invalid recipient address");

to the mint function. 4. You were also missing a check to prevent someone from minting with an amount that is not greater than zero so i added that also to the mint function. 5. i also added events as i thouht it could be something that developers could subscribe to and it would be important to track on the blockchain 6. I added a definition to Tenderly and it's uses for smart contract debugging 7. I added two more sections inside the smart contract.

Submitted

This is a news blog site where users can do the following: * Post News * Like and Dislike News * Tip news creator * Claim A Proof of Tips NFT for tipping at least one news creator.

18Points
4 Feedbacks
18.8 REP
Feedback

Hello Mr Jbloom this is a really nice project, took me some time to understand but yeah i figured out what your vision was.

What did i think the project lacked

  1. I thought the tipCreator function lacked a check to ensure that the index of the newsarticle was valid and so i added that
  2. I removed the getNewsLength function as you already had a public variable that does the same thing on line 29
1uint public newsLength = 0;
  1. I discovered you could post a news twice so i added a check to ensure that a news with the same title could not be posted twice.
  2. Lastly, I added an event for other developers to be able to subscribe to them and as good practice for smart contract.

I hope you look through the pull request and have a good day

18.75 cUSD
18.75 REP
Submitted

The tutorial provides a comprehensive overview of the Celo Governance system, which enables Celo token holders to actively participate in decision-making processes regarding protocol changes and upgrades. It begins by highlighting the importance of governance in blockchain networks and introduces the Celo Governance system as a crucial component of the Celo ecosystem. The tutorial delves into the concept of Celo as a platform for inclusion, emphasizing its goals of accessibility and inclusivity. It explains the role of token holders within the Celo ecosystem and how they contribute to the platform's governance. The tutorial then explores the key features of the Celo Governance system, including the proposal creation and submission process, as well as the mechanisms for voting and participation. It describes the different types of protocol changes and upgrades that can be voted upon and provides a code prompt example to illustrate the process of casting votes on proposed changes. Furthermore, the tutorial discusses the benefits of Celo Governance. It highlights transparency and inclusivity in decision-making, ensuring that the process is visible and accountable to the community. It emphasizes the role of accountability and trust within the community, as token holders collectively determine the platform's direction. Additionally, it explores the impact of community-driven governance, where active participation and engagement lead to a stronger and more resilient ecosystem. The tutorial addresses the challenges and limitations of the Celo Governance system, such as coordinating diverse perspectives and interests, avoiding governance capture, and the need for continuous improvement. It emphasizes the importance of finding common ground and reaching a consensus among stakeholders to overcome these challenges. Real-world case studies are presented to provide practical examples of the Celo Governance system in action. These case studies involve voting on the introduction of a new stablecoin and modifications to block reward distribution. They demonstrate how community-driven decision-making shapes the Celo ecosystem and drives its growth and innovation.

0Points
3 Feedbacks
18.8 REP
Feedback

Hello maestro, happy sunday to you, i have gone through your submission and i thought you could merge some of this functionalities which i have added

  1. I restructured the table of content, it is now clickable, i saw that you and sayrah had table of contents with some sections that were not clickable, i dont know if that was intentional or a bug but i fixed it
  2. I indented the table of content to signify the different levels of headers
  3. I added two openzeppelin libraries for ownable(access control) and safeMatch(avoid overflow and underflow issue)
1import "@openzeppelin/contracts/access/Ownable.sol"; 2 3import "@openzeppelin/contracts/utils/math/SafeMath.sol";
  1. I made the contract ownable.
  2. I made the contract use block.number in place of block.timestamp for checking if the voting period has ended
  3. I also added access control to the createProposal function
  4. The contract code now uses the .add on the voteOnProposal from the safeMath library which prevents overflow and underflow issue
Submitted

SavingLife is a fundraising effort platform that aims to raise money, awareness, and support for a charitable cause or organization. It typically involves a coordinated effort to promote the cause, solicit donations, and engage with the public to encourage participation. The goal of this charity campaign platform is to generate as much support and donations as possible for the charitable cause or organization in question, in order to help them achieve their goals and make a positive impact in the world.

0Points
3 Feedbacks
18.8 REP
Feedback

Hello .... I hope you are doing well, i have gone through your tutorial, it is nice and i was hoping you could look through some extra improvements i have made, you can find a pull request here.

  1. I added relevant checks to the createCampaign function. You can see them below require(bytes(_title).length > 0, "Title is required"); require(bytes(_description).length > 0, "Description is required"); require(bytes(_image).length > 0, "Image is required"); require(_amount > 0, "Amount needed must be greater than 0 "); This will ensure that the smart contract wont accept invalid values for each variable.
  2. In the donate function i added a check to make sure that the amount about to be donated will not exceed the required amount for the campaign
  3. I also added required to the front end code to ensure that the user must have written something in input field before being allowed to submit form
  4. I made sure that the user is require to add an amount greater thann zero in the front end by adding a min amount to the front end input field for Enter amount needed