datapool

package
v2.1.0-alpha1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

README

Deploy and instantiate NFT smart contract

Submit proposal (1): store NFT contract

VALIDATOR=$(panacead keys show {your validator} -a)

MODULE_ADDR=$(panacead q datapool module-addr -o json | jq -r '.address')

# In MacOS
TX_FLAG=(--gas auto --gas-adjustment 1.3 --chain-id {your chain ID} --yes)

# In Linux OS,
TX_FLAG="--gas auto --gas-adjustment 1.3 --chain-id {your chain ID} --yes"

panacead tx gov submit-proposal wasm-store cw721_base.wasm \
--title "store NFT contract wasm code" \
--description "store wasm code for x/datapool module" \
--instantiate-only-address $MODULE_ADDR \
--run-as $MODULE_ADDR \
--deposit "10000000000umed" \
--from $VALIDATOR $TX_FLAG -y

The module is the only allowed address to instantiate the contract

Vote yes

panacead tx gov vote {store proposal id} yes --from $VALIDATOR $TX_FLAG -y

Submit proposal (2): instantiate NFT contract

After store NFT contract passed, instantiate the contract

INST_MSG=$(jq -n --arg name "curator" --arg symbol "CUR" --arg minter $MODULE_ADDR '{"name": $name, "symbol": $symbol, "minter": $minter}')

panacead tx gov submit-proposal instantiate-contract {code id} "$INST_MSG" \
--label "curator NFT" \
--title "instantiate NFT contract" \
--description "instantiate NFT contract for x/datapool module" \
--run-as $MODULE_ADDR \
--admin $MODULE_ADDR \
--deposit "100000000umed" \
--from $VALIDATOR $TX_FLAG -y

Vote yes

panacead tx gov vote {instantiation proposal id} yes --from $VALIDATOR $TX_FLAG -y

Submit proposal (3): change parameter of code ID & NFT contract address

param_change_sample.json (when codeID=1, contractAddress=panacea14hj2tavq8fpesdwxxcu44rty3hh90vhu4mda6e)

{
  "title": "parameter change of datapool module",
  "description": "register code ID and address of NFT contract",
  "changes": [
    {
      "subspace": "datapool",
      "key": "DataPoolCodeId",
      "value": "1"
    },
    {
      "subspace": "datapool",
      "key": "DataPoolNftContractAddress",
      "value": "panacea14hj2tavq8fpesdwxxcu44rty3hh90vhu4mda6e"
    }
  ],
  "deposit": "1000000umed"
}

TODO: contract address is hardcoded now.

panacead tx gov submit-proposal param-change param_change_sample.json --from $VALIDATOR $TX_FLAG -y

Vote yes

panacead tx gov vote {param-change proposal id} yes --from $VALIDATOR $TX_FLAG -y

Create data pool

CURATOR=$(panacead keys show {your address or key of curator} -a)
panacead tx datapool create-pool {your deposit} create_pool_sample.json --from $CURATOR $TX_FLAG -y

Query curator NFT

CONTRACT=$(panacead q datapool params -o json | jq -r '.params.data_pool_nft_contract_address')
QUERY_TOKEN_INFO=$(jq -n --arg owner $CURATOR '{"tokens":{"owner":$owner}}')
panacead q wasm contract-state smart $CONTRACT $QUERY_TOKEN_INFO -o json

result

{
  "data": {
    "tokens":["1"]
  }
}

Change parameter of data pool commission by proposal

proposal_example.json

{
  "title": "title",
  "description": "description",
  "changes": [
    {
      "subspace": "datapool",
      "key": "DataPoolCommissionRate",
      "value": "0.05"
    }
  ],
  "deposit": "1000000umed"
}
panacead tx gov submit-proposal param-change param_example.json --from $VALIDATOR $TX_FLAG -y

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExportGenesis

func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState

ExportGenesis returns the capability module's exported genesis.

func InitGenesis

func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState)

InitGenesis initializes the capability module's state from a provided genesis state.

func NewHandler

func NewHandler(k keeper.Keeper) sdk.Handler

NewHandler ...

Types

type AppModule

type AppModule struct {
	AppModuleBasic
	// contains filtered or unexported fields
}

AppModule implements the AppModule interface for the capability module.

func NewAppModule

func NewAppModule(cdc codec.Marshaler, keeper keeper.Keeper) AppModule

func (AppModule) BeginBlock

func (am AppModule) BeginBlock(ctx sdk.Context, _ abci.RequestBeginBlock)

BeginBlock executes all ABCI BeginBlock logic respective to the capability module.

func (AppModule) EndBlock

EndBlock executes all ABCI EndBlock logic respective to the capability module. It returns no validator updates.

func (AppModule) ExportGenesis

func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONMarshaler) json.RawMessage

ExportGenesis returns the capability module's exported genesis state as raw JSON bytes.

func (AppModule) InitGenesis

func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONMarshaler, gs json.RawMessage) []abci.ValidatorUpdate

InitGenesis performs the capability module's genesis initialization It returns no validator updates.

func (AppModule) LegacyQuerierHandler

func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier

LegacyQuerierHandler returns the capability module's Querier.

func (AppModule) Name

func (am AppModule) Name() string

Name returns the capability module's name.

func (AppModule) QuerierRoute

func (AppModule) QuerierRoute() string

QuerierRoute returns the capability module's query routing key.

func (AppModule) RegisterInvariants

func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry)

RegisterInvariants registers the capability module's invariants.

func (AppModule) RegisterServices

func (am AppModule) RegisterServices(cfg module.Configurator)

RegisterServices registers a GRPC query service to respond to the module-specific GRPC queries.

func (AppModule) Route

func (am AppModule) Route() sdk.Route

Route returns the capability module's message routing key.

type AppModuleBasic

type AppModuleBasic struct {
	// contains filtered or unexported fields
}

AppModuleBasic implements the AppModuleBasic interface for the capability module.

func NewAppModuleBasic

func NewAppModuleBasic(cdc codec.Marshaler) AppModuleBasic

func (AppModuleBasic) DefaultGenesis

func (AppModuleBasic) DefaultGenesis(cdc codec.JSONMarshaler) json.RawMessage

DefaultGenesis returns the capability module's default genesis state.

func (AppModuleBasic) GetQueryCmd

func (AppModuleBasic) GetQueryCmd() *cobra.Command

GetQueryCmd returns the capability module's root query command.

func (AppModuleBasic) GetTxCmd

func (a AppModuleBasic) GetTxCmd() *cobra.Command

GetTxCmd returns the capability module's root tx command.

func (AppModuleBasic) Name

func (AppModuleBasic) Name() string

Name returns the capability module's name.

func (AppModuleBasic) RegisterCodec

func (AppModuleBasic) RegisterCodec(cdc *codec.LegacyAmino)

func (AppModuleBasic) RegisterGRPCGatewayRoutes

func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux)

RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the module.

func (AppModuleBasic) RegisterInterfaces

func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry)

RegisterInterfaces registers the module's interface types

func (AppModuleBasic) RegisterLegacyAminoCodec

func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

func (AppModuleBasic) RegisterRESTRoutes

func (AppModuleBasic) RegisterRESTRoutes(clientCtx client.Context, rtr *mux.Router)

RegisterRESTRoutes registers the capability module's REST service handlers.

func (AppModuleBasic) ValidateGenesis

func (AppModuleBasic) ValidateGenesis(cdc codec.JSONMarshaler, config client.TxEncodingConfig, bz json.RawMessage) error

ValidateGenesis performs genesis state validation for the capability module.

Directories

Path Synopsis
client
cli
Package types is a reverse proxy.
Package types is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL