madara icon indicating copy to clipboard operation
madara copied to clipboard

Implementing Autonomous Smart Contracts for Madara

Open AbdelStark opened this issue 1 year ago • 10 comments


Feature Description

We're seeking contributors to implement autonomous smart contracts for Madara. Inspiration can be drawn from the Mikasa hackathon project (https://github.com/mikasa-ack), which implements autonomous smart contracts for Ink! as a Substrate pallet. Some of the code from this project can be leveraged to accomplish our goal.

Requirements

  1. Autonomous Smart Contracts: The implementation of autonomous smart contracts within Madara, similar to what has been accomplished within the Mikasa project.

  2. Code Reusability: Leverage existing code from the Mikasa project where possible, adhering to DRY (Don't Repeat Yourself) principles.

  3. Configuration: This feature should be optional and configurable at the Starknet pallet level, ensuring flexibility for users.

Preferred User Flow

  1. User configures the Starknet pallet to enable autonomous smart contracts.
  2. Autonomous smart contracts become available within the Madara environment.

Who Can Help?

Contributors with experience in smart contract development, particularly within a Substrate pallet context, are highly encouraged to participate. Familiarity with the Madara project, Starknet pallet, and the Mikasa hackathon project would be beneficial for this task.

Thank you!

AbdelStark avatar Jun 27 '23 11:06 AbdelStark

Will definitely be looking into this

dbejarano820 avatar Jun 27 '23 21:06 dbejarano820

I would like to tackle this one 🤓

lana-shanghai avatar Jun 30 '23 09:06 lana-shanghai

I would like to tackle this one 🤓

please do!

AbdelStark avatar Jun 30 '23 09:06 AbdelStark

@abdelhamidbakhta how do we want to treat the sender field of the AsyncMessage? In the mikasa implementation we just take the signed origin and convert it with account_id_to_account_id32. With madara, do we want to use a deployed account?

lana-shanghai avatar Jul 07 '23 14:07 lana-shanghai

@abdelhamidbakhta how do we want to treat the sender field of the AsyncMessage? In the mikasa implementation we just take the signed origin and convert it with account_id_to_account_id32. With madara, do we want to use a deployed account?

I think so yes would make sense, account will always mean deployed account in the context of madara

EvolveArt avatar Jul 07 '23 14:07 EvolveArt

@EvolveArt should we keep track of which Substrate account deployed which account then? In that case we could check if the caller is indeed owner of that account in madara context

lana-shanghai avatar Jul 07 '23 14:07 lana-shanghai

OK I have an idea. I will use the H256 of a Substrate account as salt.

lana-shanghai avatar Jul 07 '23 14:07 lana-shanghai

There hasn't been any activity on this issue recently, and in order to prioritize active issues, it will be marked as stale. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a 👍 Because this issue is marked as stale, it will be closed and locked in 7 days if no further activity occurs. Thank you for your contributions!

github-actions[bot] avatar Aug 07 '23 00:08 github-actions[bot]

Can I help here?

andyjsbell avatar Aug 29 '23 20:08 andyjsbell

There hasn't been any activity on this issue recently, and in order to prioritize active issues, it will be marked as stale. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a 👍 Because this issue is marked as stale, it will be closed and locked in 7 days if no further activity occurs. Thank you for your contributions!

github-actions[bot] avatar Sep 29 '23 00:09 github-actions[bot]

repository archived in favor of https://github.com/madara-alliance/madara

tdelabro avatar Aug 02 '24 18:08 tdelabro