智能合約Action API:
template
T baic::unpack_action_data ()
描述:把a(bǔ)ction 的內(nèi)容數(shù)據(jù)發(fā)序列化到類型T
void baic::require_auth (const permission_level &level)
描述:權(quán)限驗(yàn)證
void baic::dispatch_inline (account_name code, action_name act, vector< permission_level > perms, std::tuple< Args... > args)
描述:在一個(gè)action內(nèi)部調(diào)用另一個(gè)action
公鏈功能API:
uint32_t get_active_producers (account_name *producers, uint32_t datalen)
描述:獲取正在活躍的可以打包區(qū)塊的節(jié)點(diǎn)的賬戶
數(shù)據(jù)庫(kù)功能 API
用于存儲(chǔ)和讀取內(nèi)存存儲(chǔ)的中的數(shù)據(jù),在數(shù)據(jù)庫(kù)中數(shù)據(jù)以以下結(jié)構(gòu)存儲(chǔ)
code 智能合約的賬戶名稱
scope 數(shù)據(jù)存儲(chǔ)的區(qū)域
table 數(shù)據(jù)存儲(chǔ)的表
record 數(shù)據(jù)行
每個(gè)事務(wù)都指定了可以讀取和/或?qū)懭氲囊唤M有效范圍。 正在運(yùn)行的合約決定了可以寫入的內(nèi)容。寫入操作不允許您指定/配置合約的代碼。
這里給出了64位整形存儲(chǔ)的例子,在之后的文檔中會(huì)給出所有支持的類型的操作的API。
int32_t db_store_i64(account_name scope, table_name table, account_name payer, uint64_t id, const void* data, uint32_t len);
void db_update_i64(int32_t iterator, account_name payer, const void* data, uint32_t len);
void db_remove_i64(int32_t iterator);
int32_t db_get_i64(int32_t iterator, const void* data, uint32_t len);
int32_t db_next_i64(int32_t iterator, uint64_t* primary);
int32_t db_previous_i64(int32_t iterator, uint64_t* primary);
int32_t db_find_i64(account_name code, account_name scope, table_name table, uint64_t id);
int32_t db_lowerbound_i64(account_name code, account_name scope, table_name table, uint64_t id);
int32_t db_upperbound_i64(account_name code, account_name scope, table_name table, uint64_t id);
int32_t db_end_i64(account_name code, account_name scope, table_name table);
Console C++ API
應(yīng)用程序能夠記錄/打印文本消息
class baic::iostream
template
void baic::print (Arg &&a, Args &&... args)
打印出值/值列表(除了double)
template<typename T >
iostream & baic::operator<< (iostream &out, const T &v)
重載c++ iostream
系統(tǒng) API
定義用于與系統(tǒng)級(jí)的特性交互的API
void baic_assert (uint32_t test, const char *msg);
void baic_assert_message (uint32_t test, const char *msg, uint32_t msg_len);
void baic_assert_code (uint32_t test, uint64_t code);
void baic_exit (int32_t code);
uint64_t current_time ();
uint32_t now ();
編輯: