NFT Gen 2 Tech Doc
  • Introduction
  • Overview
    • NFT Data Chain
    • Cosmos SDK
    • Modules
      • Core Module
      • Oracle
  • Integration
    • Creating Schema
    • System Mode
      • Minting
      • Sending Action
    • User Mode
      • Minting
      • Sending Action
  • Data-chain Base URI
  • Getting Started
    • Installation (Golang)
    • Getting Started
      • Download Binary
      • Developer Resources
      • Binary Overview
      • Create Account
      • Faucet
      • Deploy NFT Gen2
      • Perform Action of NFT Gen2
      • Update NFT Schema
      • Script
    • SDK Package for NodeJs
      • Example Resources
      • Deploy NFT Gen2
      • Perform Action of NFT Gen2
      • Update NFT Schema
    • SDK for GO
      • Requirements
      • Installation
      • Usage
      • Preparing Key for Authentication
      • Supported Messages and Queries
      • Examples
    • Six Protocol Developer Community
Powered by GitBook
On this page
  • Create NFT Schema
  • Create NFT Metadata
  • Perform Action by Admin
  1. Getting Started
  2. SDK for GO

Examples

Create NFT Schema

// Read JSON data from file
jsonData, err := ioutil.ReadFile("schema.json")
if err != nil {
	fmt.Println(err)
	return
}

// Decode JSON data into a map[string]interface{} variable
var data map[string]interface{}
err = json.Unmarshal(jsonData, &data)
if err != nil {
	fmt.Println(err)
	return
}

// Encode the JSON data as a base64 string
base64Data := base64.StdEncoding.EncodeToString(jsonData)

msg := &nftmngrtypes.MsgCreateNFTSchema{
	Creator:         client.ConnectedAddress,
	NftSchemaBase64: base64Data,
}
txResponse, err := client.GenerateOrBroadcastTx(msg)
if err != nil {
	fmt.Println(err)
	return
}

Create NFT Metadata

// Read JSON data from file
jsonData, err := ioutil.ReadFile("metadata.json")
if err != nil {
	fmt.Println(err)
	return
}

// Decode JSON data into a map[string]interface{} variable
var data map[string]interface{}
err = json.Unmarshal(jsonData, &data)
if err != nil {
	fmt.Println(err)
	return
}

// Encode the JSON data as a base64 string
base64Data := base64.StdEncoding.EncodeToString(jsonData)

msg := &nftmngrtypes.MsgCreateMetadata{
	Creator:       client.ConnectedAddress,
	NftSchemaCode: "six-protocol.develop_v220",
	TokenId:       "1",
	Base64NFTData: base64Data,
}

txResponse, err := client.GenerateOrBroadcastTx(msg)
if err != nil {
	fmt.Println(err)
	return
}

Perform Action by Admin

refID := uuid.New()
msg := &nftmngrtypes.MsgPerformActionByAdmin{
	Creator:       client.ConnectedAddress,
	NftSchemaCode: "six-protocol.develop_v220",
	TokenId:       "1",
	Action:        "test_read_nft",
	RefId:         refID.String(),
	Parameters:    []*nftmngrtypes.ActionParameter{},
}

txResponse, err := client.GenerateOrBroadcastTx(msg)
if err != nil {
	fmt.Println(err)
	return
}

PreviousSupported Messages and QueriesNextSix Protocol Developer Community

Last updated 2 years ago