😇
[aptos] 公開されてないスマコンを動かすのってどうやるの?
2024-12-28
2025-01-10
約1453字
10,000 円/時
Movespidersぽちぽち・・(EthereumでいうCryptozombies)
Aptosスマコン書けるようになってきたな
さてDefiで儲けてみるか^〜^
こ、このコントラクト、コードが公開されていない・・・
そういえば、今まで自分で書いたコントラクトを動かすだけで、他のコントラクトを動かすってことしてなかったな
// 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を指定している部分が差分としてあった。
これか?でも今回はコードが公開されていないので指定できないよね・・・?
サンプルがない:angel:
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" }
これで自分のスマコンから公開されていないスマコンを呼び出すことができました
Aptosでの公開されてないスマコンを動かすのサンプルや情報がほぼなかったのでまとめてみました。
©︎ 2025 - Yard