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

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

卡酷少

Wechat:13260325501typescript


星云链上的智能合约相似于面向对象编程语言中的类,合约可能包含状态变量(持久化固定化的变量)以及能够修改这些变量的函数。星云链使用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}}
  • 合约一旦部署成功就对全部用户可见,只要知道合约地址就能够查看。
相关文章
相关标签/搜索