👺
ASTAR Network(local)上に Ink! を使って RUST製 smart contract をデプロイ - その2
前置き
以下の記事。
前回は、 ink! のサンプルプロジェクト flipper を astar-collator にデプロイしようとしたが
失敗してしまった。
前回は心が折れたので、数日おいて再チャレンジしてみる。
実技
できるまでやめない心でエラー原因を調べる。
すると、以下の issue を見つける。
無心で flipper に以下のとおり追記をする。
impl Flipper {
/// Constructor that initializes the `bool` value to the given `init_value`.
- #[ink(constructor)]
+ #[ink(constructor, payable)]
pub fn new(init_value: bool) -> Self {
Self { value: init_value }
}
/// Constructor that initializes the `bool` value to `false`.
///
/// Constructors can delegate to other constructors.
- #[ink(constructor)]
+ #[ink(constructor, payable)]
pub fn default() -> Self {
Self::new(Default::default())
}
/// A message that can be called on instantiated contracts.
/// This one flips the value of the stored `bool` from `true`
/// to `false` and vice versa.
#[ink(message)]
pub fn flip(&mut self) {
self.value = !self.value;
}
/// Simply returns the current value of our `bool`.
#[ink(message)]
これでプロジェクトをリビルドし、再度wasm をデプロイしてみる。
Alice ちゃんが払える範囲の適当な額で試す。
「Sign and Submit」を押下
キターーーーーーーー!!
だが、 substrate-contracts-nodeでは読めていた値が読めていない。
うん、なんか、エラー出てる。
(恐らく astar が wasm に対応していないため?)
次回へ続く
Discussion