No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
Ocean Bounty: Proof of Concept - Smart Contract Upgradability with ZeppelinOS
oceanprotocol
Solidity, ZepplinOS, oceanprotocol, ethereum, smart contract, POC
#Ocean Bounty: Proof of Concept - Smart Contract Upgradability with ZeppelinOS
## How can you help?
We want a Proof of Concept that demonstrates the upgradability of our [Smart Contracts](https://github.com/oceanprotocol/keeper-contracts/tree/develop/contracts) using [ZeppelinOS](https://docs.zeppelinos.org/docs/low_level_app.html). The concept must demonstrate a general solution which defines the different scenarios to be tested independently from the pattern/framework. Some of these are
bug fix upgrade (no business logic or storage change)
change in business logic
change in storage
backward compatible change of interface
breaking change of interface
The below diagram is a high level overview on how ZeppelinOS will work.
We want to upgrade our [keeper contract repo](https://github.com/oceanprotocol/keeper-contracts) using [ZeppelinOS](https://zeppelinos.org/)’s upgradability governance. Here is [an example](https://blog.zeppelinos.org/exploring-upgradeability-governance-in-zeppelinos-with-a-gnosis-multisig/).
## What needs to be done?
- Define the upgrade scenarios to test independently of the pattern/framework.
- bug fix upgrade (no business logic or storage change)
- change in business logic
- change in storage
- backward compatible change of interface
- breaking change of interface
- Start by demonstrating the PoC in one of the Smart Contracts existing in the Keeper (DIDRegistry is small and could be a good candidate to start). Validate/document the behavior in all the scenarios and evaluate results (pros/cons).
- Once the preferred solution is selected solution, identify next steps to apply this to the rest of the contracts.
### Technical Stack
Keeper contracts and ZeppelinOS are both written in solidity. Repo for ZeppelinOS smart contracts [can be found here](https://github.com/zeppelinos).
## We are very happy when
- Upgradability governance is demonstrated for all [Keeper Contracts](https://github.com/oceanprotocol/keeper-contracts).
- PR for smartcontracts can go into [the keeper contracts repo](https://github.com/oceanprotocol/keeper-contracts). It should include deployment files, which can be used to deploy the smart contracts.
- It should include testing file, which can upgrade the smart contract code and run through all other tests, based on ZeppelinOS.
- The readme file on Github should include documents detailing the procedures with regards to the upgradeability framework used. We should be able to reproduce the procedure according to the specified steps.
## Seen this problem before?
Any help solving this is welcome. Feel free to leave any comments and help someone else to solve it. We might airdrop tokens to someone even if not directly completing bounty.
## Questions & Reviews
Pull requests will be reviewed by one of the maintainers or long-term contributors. In case of any additional questions feel free to ask in this thread and we will do our best to add the missing info :)
## Things to know
The bounty lifecycle process including payout will be managed using [Gitcoin](https://gitcoin.co/explorer?network=mainnet&keywords=oceanprotocol&order_by=-web3_created).
We'll be responding to your questions here, but for discussion and clarification we recommend to join also our [Gitter channel](https://gitter.im/oceanprotocol/Lobby) where our tech community is accessible.
In order to see the PROCN balance in your wallet you'll need to reference the related token contract with address _0xf2aabdd898a0139195b2b5da7387d43a45ded254_. If you use a Metamask plugin you'll find the the exact steps [here](https://metamask.zendesk.com/hc/en-us/articles/360015489011-Managing-ERC20-Tokens).
Lastly, even if it is a contest bounty, we will reward all valuable contributions and efforts. We greatly appreciate the value our open source community brings to Ocean and will always award some tokens to all great contributions! :smiley:
## Reward
Once the project was reviewed and merged in the master branch, you will receive the reward. PROCN is a proto-Ocean token. Bounty hunters that earn PROCN will be able to convert them 1:1 to Ocean tokens on network launch (price of Ocean Token during pre-launch was valued at 0.20 EUR/token. However, once the Ocean token is available on public exchanges, the Ocean token price will likely be different). Network launch is expected to happen by Mar 31, 2019. Until then PROCN will be locked and non-transferrable in the ETH wallet to which it is delivered to.
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save