🌟

[Astar]コントラクト備忘録19(psp34 Mintableについて)

2023/03/01に公開

こちらの知見がたまったので、備忘録として残します。

1 概要

  1. psp34 Mintableについて

2 内容

こちらのコントラクトを作成しました。

OpenBrushのexampleの中身そのままです。

#![cfg_attr(not(feature = "std"), no_std)]
#![feature(min_specialization)]

#[openbrush::contract]
pub mod my_psp34 {
    use ink_storage::traits::SpreadAllocate;
    use openbrush::{
        contracts::psp34::extensions::mintable::*,
        traits::Storage,
    };

    #[derive(Default, SpreadAllocate, Storage)]
    #[ink(storage)]
    pub struct Contract {
        #[storage_field]
        psp34: psp34::Data,
    }

    impl PSP34 for Contract {}

    impl PSP34Mintable for Contract {}

    impl Contract {
        /// The constructor
        #[ink(constructor)]
        pub fn new() -> Self {
            ink_lang::codegen::initialize_contract(|_instance: &mut Self| {})
        }
    }
}

下のように、PSP34Mintableをそのまま実装していることが確認できます。

では、Githubを見てみましょう。

このように、「mint」が実装されていることがわかります。

https://github.dev/Supercolony-net/openbrush-contracts

では、実際に実行してみましょう。

こちらの「mint」を実行します。

すると、このように、「totalSupply」が増えたことを確認できました。

Shibuya

XCR5PNZbb2b9VGL87ssRSrGrRaqsBdxPiQsAWSX3SjoQNaT

今回は以上です。

Discussion