nmine.apollo NFT质押合约对接

NFT质押dapp操作文档

Apollo 资产管理

一、合约操作示例

1、创建活动

mpush amax.token transfer '{"from":"nftone.xdao","to":"nmine.apollo","quantity":"1.00000000 AMAX","memo":"create_campaign"}' -p nftone.xdao 
mpush nmine.apollo setcampaign '{"sponsor": "nftone.xdao", "campaign_id": 11, "nftids": [10001], "plan_day": 60, "plan_interest": "0.00000000 AMAX", "ntoken_contract": "pass.ntoken", "total_quotas": 20000, "campaign_name_cn": "NFTOne Pass Card Staking", "campaign_name_en": "NFTOne Pass Card Staking", "campaign_pic_url_cn": "QmafjMZDXjweZNH5tFFh3Xemzam6KUb5SV7TXTRnkXa8BE", "campaign_pic_url_en": "QmafjMZDXjweZNH5tFFh3Xemzam6KUb5SV7TXTRnkXa8BE", "begin_at": 1693152000, "end_at": 1850140740}' -p nftone.xdao

2、质押NFT

mpush amax.ntoken transfer '["usera12341234","nmine.apollo",[[1, [10001, 0]]],"pledge:11"]' -p usera12341234

3、转入利息

mpush amax.token transfer '{"from":"nftone.xdao","to":"nmine.apollo","quantity":"10.00000000 AMAX","memo":"refuelint:$campaign_id"}' -p nftone.xdao 

二、合约代码调用示例

struct amax_token {
   void transfer(const name& from, const name& to, const asset& quantity, const string& memo);
   using transfer_action = eosio::action_wrapper<"transfer"_n, &amax_token::transfer>;
};
#define TRANSFER_OUT(token_contract, to, quantity, memo)                                                                                   \
   amax_token::transfer_action(token_contract, { { get_self(), ACTIVE_PERM } }).send(get_self(), to, quantity, memo);
   
TRANSFER_OUT(_gstate.token_contract, _gstate.nmine_apollo, quantity, "refuelint:" + to_string(campaign_id));

最后更新于