0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[aptos] 公開されてないスマコンを動かすのってどうやるの?

Last updated at Posted at 2024-12-28

Moveスマコン完全に理解した

Movespidersぽちぽち・・(EthereumでいうCryptozombies)
https://movespiders.com/
スクリーンショット 2024-12-28 10.59.55.png

Aptosスマコン書けるようになってきたな
さてDefiで儲けてみるか^〜^

大きな敵と気付き

こ、このコントラクト、コードが公開されていない・・・
そういえば、今まで自分で書いたコントラクトを動かすだけで、他のコントラクトを動かすってことしてなかったな
スクリーンショット 2024-12-28 10.57.32.png

アドレス定義すれば動くのでは・・? -> 失敗

// leverage_bot.move
module leverage_bot::loop_supply_borrow {
    use lending::lending;
}
// Move.toml
[addresses]
lending = "0x0daaf1cca3f702b3d94425e4f0a7bfb921142666846a916f5be91edf1f1911d4"
aptos move publish --move-2 
Invalid 'use'. Unbound module: '0xDAAF1CCA3F702B3D94425E4F0A7BFB921142666846A916F5BE91EDF1F1911D4::lending'

巷の他のスマコンを呼び出しているスマコンを探してみる

基本的にアドレス定義しているだけでほぼ同じように見える
しかしdependenciesで、githubのurlを指定している部分が差分としてあった。
これか?でも今回はコードが公開されていないので指定できないよね・・・?
スクリーンショット 2024-12-28 11.25.34.png

ひたすらハマる・・・

サンプルがない:angel:

解決策

ABIをもとにした仮のモジュールを作って、ローカルで読み込むように設定すること

ABIから作った仮の関数を使うことで対応できる情報を入手

返すものは適当で型だけあっているモジュールを作る
しかし、しっかり本当のコントラクトのように、sourcesフォルダとMove.tomlを用意する

module lending::lending {
    use 0x1::signer;
    use 0x1::coin;
    use 0x1::object;
    use std::string;
    use std::vector;

    struct Market has key {
        inner: string::String
    }

     public fun market_objects(): vector<object::Object<Market>> {
        vector::empty<object::Object<Market>>()
    }
}

利用するコントラクトの方で、アドレスを指定し、ローカルの読み込み設定も行う。

// contracts/Move.toml
[package]
name = "Leverage"
version = "0.0.0"

[addresses]
lending = "0x0daaf1cca3f702b3d94425e4f0a7bfb921142666846a916f5be91edf1f1911d4"

[dependencies]
Lending = { local = "./lending" }

スクリーンショット 2024-12-28 11.20.15.png

これで自分のスマコンから公開されていないスマコンを呼び出すことができました
スクリーンショット 2024-12-28 11.21.34.png

まとめ

Aptosでの公開されてないスマコンを動かすのサンプルや情報がほぼなかったのでまとめてみました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?