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
CLI for Ocean squid client libraries
oceanprotocol
CLI, java, python, javascript, oceanprotocol
# CLI for Ocean squid client libraries
## How can you help?
We want to implement a Command Line Interface for our client libraries “squid”. The latter are written in three languages [JavaScript](https://github.com/oceanprotocol/squid-js) (referred as squid-js); [Python](https://github.com/oceanprotocol/squid-py) (referred as squid-py); and [Java](https://github.com/oceanprotocol/squid-java) (referred as squid-java). In our architecture, the squid libraries allow users (publishers and consumers) to interact with the Ocean Protocol smart contracts and network. They include the methods (in different languages) to, for example, buy an asset, or publish it. Different languages have different uses: the JavaScript version will be mostly used in the front-end part of Ocean Protocol, when users will access the web pages. For now in our current version Trilobite, developers can interact with the libraries using [Tuna](https://github.com/oceanprotocol/tuna). Tuna is an example interface for our squid libraries.
We want to give developers the option to use a CLI to execute the different commands and methods. By building the CLI, you would help Ocean by expanding its functionalities while making it easier for developers to improve Ocean Protocol via the squid libraries. It should at least reproduce the capabilities of Tuna.
## Assumptions
* Familiarity with the Ocean Protocol architecture (you need to understand well how squid the libraries interacts with the different components). More information [here](https://github.com/oceanprotocol/).
* You have used the current version (Trilobite) of Ocean Protocol and tried the different functionalities. This is will help you understand what the CLI should allow.
* You have used/are using CLIs in your work/free time so you have knowledge about how to build one.
## What needs to be done?
* A complete CLI that developers can use to execute all the [commands](https://github.com/oceanprotocol/dev-ocean/blob/master/doc/architecture/squid.md#squid-api-implementation-state) interacting with the squid libraries.
* Any language (Python, JavaScript, Java) can be used, but it needs to be properly documented and tested (unit tests and integration tests).
## We are very happy when
* Users can easily understand how to operate the CLI (so solid documentation).
* All the squid [commands](https://github.com/oceanprotocol/dev-ocean/blob/master/doc/architecture/squid.md#squid-api-implementation-state) can be executed from the CLI (see list of commands https://github.com/oceanprotocol/squid-java/blob/develop/README.md). Users can publish, register, search, and consume assets, interact with the Secret Store (encrypt/decrypt), and interact with metadata.
* Each CLI command should reproduce each squid method.
* Unit/integration test coverage for the code is >=85%.
## 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).
## 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 (Ocean Token will be valued at at 0.22 EUR on network launch). 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