1. 首页
  2. 专栏

BAIC(佰客云)公布智能合约API介绍,公测将公开API接口!

物联网数据价值公链BAIC正式发布智能合约API接口规范,内容为BAIC公链的智能合约API介绍。

BAIC(佰客云)公布智能合约API介绍,公测将公开API接口!

物联网数据价值公链BAIC正式发布智能合约API接口规范,内容为BAIC公链的智能合约API介绍。这意味着月底BAIC公链公测之时,将提供API接口。

智能合约Action API:

template

T         baic::unpack_action_data ()

描述:把action 的内容数据发序列化到类型T

void     baic::require_auth (const permission_level &level)

描述:权限验证

void     baic::dispatch_inline (account_name code, action_name act, vector< permission_level > perms, std::tuple< Args… > args)

描述:在一个action内部调用另一个action

公链功能API:

uint32_t          get_active_producers (account_name *producers, uint32_t datalen)

描述:获取正在活跃的可以打包区块的节点的账户

数据库功能 API

用于存储和读取内存存储的中的数据,在数据库中数据以以下结构存储

code 智能合约的账户名称

scope 数据存储的区域

table 数据存储的表

record 数据行

每个事务都指定了可以读取和/或写入的一组有效范围。 正在运行的合约决定了可以写入的内容。写入操作不允许您指定/配置合约的代码。

这里给出了64位整形存储的例子,在之后的文档中会给出所有支持的类型的操作的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

应用程序能够记录/打印文本消息

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

系统 API

定义用于与系统级的特性交互的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 ();

©本文仅代表作者本人观点,与趣币网无关。趣币网对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。转载请注明出处:趣币网

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

13798586780

在线咨询:点击这里给我发消息

邮件:1074760229@qq.com

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

QR code