星云计划——智能合约代码入门

星云计划——智能合约代码入门

卡酷少

Wechat:13260325501


星云链上的智能合约类似于面向对象编程语言中的类,合约可能包含状态变量(持久化固定化的变量)以及可以修改这些变量的函数。星云链使用NVM(Nebulas Virtual Machine)作为合约的执行引擎。JavaScript(JS)是星云支持的第一种智能合约语言,还可以用typescript写,但本文主要介绍JS。

智能合约基本结构
  • 完整的智能合约必须包含三个部分:
  1. 一个prototype原型
  2. 一个init函数,该函数会在合约部署时运行一次
  3. 一个module导出
  4. 以“_”开头的函数都为private私有函数。其他为pubilc公有(private或pubilic为函数可见性)
  • 下面给出一个最基本的智能合约(各项内容为空的智能合约):
“use strict”;//严格语法模式
var BankVaultContract = function () {
  // nothing
};
BankVaultContract.prototype = {//prototype原型
  init: function() {//init方法
      // nothing
  }
};
module.exports = BankVaultContract;//导出
合约部署
  • 只要开发者将自己开发的智能合约(无论用JS语言还是TS语言)发送到任意一个星云节点,该合约就会分配到一个全局唯一合约地址。举例合约地址类如下(可以在上篇文章查看如何获取的相关操作):
“contract_address”:n1qsgj2C5zmYzS9TSkPTnp15bhCCocRPwno
  • 同时会得到一个txhash,可用于轮询合约部署状态。如果status=1,就意味着合约被成功部署。txhash如下:
{“result”:{“hash”:”2dd7186d266c2139fcc92446b364ef1a1037bc96d571f7c8a1716bec44fe25d8″,…,”status”:1}}
  • 合约一旦部署成功就对所有用户可见,只要知道合约地址就可以查看。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值