Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agoric-Akash Build Challenge #3984

Closed
rowgraus opened this issue Oct 18, 2021 · 14 comments
Closed

Agoric-Akash Build Challenge #3984

rowgraus opened this issue Oct 18, 2021 · 14 comments
Labels
bounty enhancement New feature or request

Comments

@rowgraus
Copy link

rowgraus commented Oct 18, 2021

Description

Implement an Agoric smart contract in hardened JavaScript which interacts with the Akash network to perform a useful function!

An example build challenge idea (validated with the Akash team) would be to:

  • Detect when a lease has been terminated
    & Begin a new lease on behalf of the user

Context

Akash is an open source cloud hosting platform that allows users to bid and lease for compute and storage usage.

This challenge is to build functionality to allow Akash users to manage their leases more flexibly or with more reliability. The example to renew leases solves a current need for Akash users: their leases can be terminated by their hosting providers and they may experience downtime.

This smart contract will run on Agoric and must communicate with the Akash chain.

Submission Requirements

Submissions must include the following:

  • Demo video walking through the interaction
  • Code in a public github repo

Note that submissions must be open source.

Applicant Assessment Criteria

Important: Please provide a clear workplan for how you will approach this bounty. Use the work plan as an initial demonstration that you would be a good candidate. Bounties will require coordination with the Agoric team, so unfortunately only plans submitted in English will be considered.

Applicants will be assessed based on the following criteria:

  • Issue-specific domain experience
  • Issue-specific technical capability
  • Familiarity with Agoric's platform
  • JavaScript experience
  • Availability and communication

Payment Details

Payment will be made in USD (fiat currency) via wire transfer (not Paypal as listed). The developer is responsible for providing their completed tax documents (W9 for US based developers and/or W8 or W8-BEN-E for non-US based developers) and providing their banking details in order to receive payment.

Review Process

  • Agoric team reviews your submitted workplan on Gitcoin
    It is best to join our Discord and post your gitcoin name in the bounties channel, so that we can follow up with you. Otherwise, we will write on your gitcoin profile wall and say hello!
  • Agoric contacts you to provide reference projects / sample code for engineering review
  • Introductory call to discuss your plans and expected timeline
  • You join the Agoric Discord bounties channel (if you haven’t done so already)
  • Agoric accepts you on Gitcoin and you get started!

References

@rowgraus rowgraus added the enhancement New feature or request label Oct 18, 2021
@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 6500.0 USD (6497.4 USD @ $1.0/USD) attached to it.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 7500.0 USD (7488.75 USD @ $1.0/USD) attached to this issue has been cancelled by the bounty submitter

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 7500.0 USD (7488.75 USD @ $1.0/USD) attached to it.

@harmoniqpunk
Copy link

I wanted to work for this bounty because I think is a cool and interesting idea. But you guys ask for a PayPal account to pay the developer for working on a crypto smart contract in a decentralised platform. Do you understand how wrong is this? I stoped the right moment you asked PayPal.

@rowgraus
Copy link
Author

Hi @georgepoenaru - for business reasons as a US entity we're not able to pay in tokens right now for bounties.

However, the actual payment method is not Paypal. I've updated the bounty with our usual payment details (they were omitted because this was originally for a hackathon). I realize this may still not meet your criteria, but you don't actually need Paypal if that helps.

If you're interested, would love to have you work on this. You'll find our team embodies your values.

@harmoniqpunk
Copy link

harmoniqpunk commented Dec 16, 2021

Hi @rowgraus

Ok, I really didn't knew that. In Germany companies can pay/receive crypto assets and fill tax exactly like I would pay/receive in a foreign currency. Deposits are treated like assets. Yes, it is more work on the accounting part but is the only way to break establishment.

I think if we, the devs do not break the establishment, no one will.

Let's give a try. I love the ideea of automated decentralised cloud providing. I think a great use case is to automate LN nodes deployments. I will apply.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Workers have applied to start work.

These users each claimed they can complete the work by 264 years, 11 months from now.
Please review their action plans below:

1) georgepoenaru has applied to start work (Funders only: approve worker | reject worker).

Hi,

I would like to build this. The plan is to build the deployment and the bid logic in pure async pseudo-atomic fashion. The test use case will be a deployment of an LN Node automatic lease.

George

Learn more on the Gitcoin Issue Details page.

@rowgraus rowgraus added the bounty label Jan 5, 2022
@dckc
Copy link
Member

dckc commented Jan 5, 2022

Given limitations around which features Akash exposes over IBC, here's a suggestion:

  • on chain, an Agoric smart contract holds some Akash tokens in reserve and can send them to Akash over IBC
  • off chain, in ag-solo, a process uses the Akash API to monitor the lease. When it times out, it instructs the on-chain contract to send over some tokens. When the on-chain part says "did it", the off-chain part uses the Akash API to renew the lease.

To elaborate a bit:

  1. Alice writes the above smart contract, installs it, starts it, and keeps the creator facet
  2. Alice writes an off-chain app based on ag-solo for managing leases
  3. Bob holds some Akash tokens
    • presumably there is an Akash testnet faucet
  4. Bob leases some time in Akash
  5. Bob sends some Akash tokens over IBC to his Agoric (devnet) wallet
  6. Bob uses the public facet of the contract to specify his Akash coordinates and get an invitation, then uses the invitation to make an offer of 100 Akash tokens for 1 lease-controller NFT.
  7. Bob gets the off-chain app and starts it, providing his Akash coordinates (perhaps by naming his NFT purse, where the app can get the amount from the NFT)
  8. The off-chain app monitors the lease.
  9. When the lease is about to expire, the off-chain app tells the contract to send some Akash tokens over IBC to Bob's account in Akash.
  10. When that IBC transfer is done, the off-chain app uses the Akash API to renew the lease.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 7500.0 USD (7497.0 USD @ $1.0/USD) has been submitted by:

  1. @simpletrontdip

@jeetraut please take a look at the submitted work:


@michaelfig
Copy link
Member

I found a problem with IBC that is likely not a blocker for interchain accounts, but I'm documenting here for transparency: cosmos/ibc#732

@dckc
Copy link
Member

dckc commented Mar 25, 2022

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 7500.0 USD (7498.5 USD @ $1.0/USD) attached to this issue has been approved & issued to @simpletrontdip.

1 similar comment
@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 7500.0 USD (7498.5 USD @ $1.0/USD) attached to this issue has been approved & issued to @simpletrontdip.

@dckc dckc closed this as completed May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants