关于BSC链智能合约模式DAPP开发流程介绍

简介: kill:selfdestruct 是 ethereum 智能合约自带的自毁程序,kill对此方法进行了封装,只有合约的拥有者才可以调用该方法

主要函数
kill:selfdestruct 是 ethereum 智能合约自带的自毁程序,kill对此方法进行了封装,只有合约的拥有者才可以调用该方法;
greet:返回合约 greeter 里的 greeting属性的值;
代码运行分析
第一步 生成智能合约代码对象
我们先把合约代码smartContract_example01.sol 压缩为一行.新建一个ssh session, 切换到geth用户环境su - geth, 然后输入:cat smartContract_example01.sol | tr '\n' ' '. 切换到以太坊控制台,把合约代码保存为一个变量:

var greeterSource = 'contract mortal { address owner; function mortal() { owner = msg.sender; } function kill() { if (msg.sender == owner) selfdestruct(owner); } } contract greeter is mortal { string greeting; function greeter(string _greeting) public { greeting = _greeting; } function greet() constant returns (string) { return greeting; } }'
复制
第二步 编译合约代码
然后编译合约代码:

var greeterCompiled = web3.eth.compile.solidity(greeterSource)
复制
greeterCompiled.Token.code可以看到编译好的二进制代码 greeterCompiled.Token.info.abiDefinition可以看到合约的ABI

第三步 设置希望返回的字符串
var _greeting = "Hello World!"
复制
第四步 部署合约
接下来我们要把编译好的合约部署到网络上去.

首先我们用ABI来创建一个javascript环境中的合约对象:

var greeterContract = web3.eth.contract(greeterCompiled.greeter.info.abiDefinition);
复制
我们通过合约对象来部署合约:

var greeter = greeterContract.new(_greeting,{from:web3.eth.accounts[0], data: greeterCompiled.greeter.code, gas: 300000}, function(e, contract){

if(!e) {
  if(!contract.address) {
    console.log("Contract transaction send: TransactionHash: " + contract.transactionHash + " waiting to be mined...");
  } else {
    console.log("Contract mined! Address: " + contract.address);
    console.log(contract);
  }
}

})
复制
greeterContract.new方法的第一个参数设置了这个新合约的构造函数初始化的值

相关文章
|
2月前
|
安全 API PHP
拥抱现代PHP:探索枚举(Enum)的力量
拥抱现代PHP:探索枚举(Enum)的力量
398 104
|
5月前
|
弹性计算 缓存 运维
阿里云服务器38元、99元、199元区别及各自性能和适用场景参考
目前在阿里云的活动中有三款价格非常实惠的云服务器,轻量应用服务器2核2G配置仅需38元/年,云服务器ECS经济型e实例2核2G配置99元/年,通用算力型u1实例2核4G配置199元/年,本文为大家介绍这几款云服务器的区别及各自的性能和使用场景情况,以供选择参考。
|
数据采集 API 定位技术
Python技术进阶:动态代理IP的跨境电商解决方案
Python技术进阶:动态代理IP的跨境电商解决方案
|
搜索推荐 数据安全/隐私保护
智能玻璃:自适应环境变化的建筑材料
【10月更文挑战第17天】智能玻璃是一种能够根据外界环境条件自动调节透明度、颜色或隔热性能的高科技建筑材料。本文介绍了智能玻璃的工作原理(如电致变色、热致变色、光致变色)、分类、应用领域(建筑、汽车、航空)以及其在节能环保、隐私保护、光线控制等方面的卓越表现。未来,智能玻璃将更加智能化,助力建筑行业向绿色化、可持续方向发展。
|
人工智能 NoSQL Redis
如何将分布式锁性能提升100倍【含面试题】
如何将分布式锁性能提升100倍
729 0
|
缓存 负载均衡 Java
Python实现API接口并发测试
Python实现API接口并发测试
984 0
web后端-最好用的扒站仿站工具(网页克隆网页复制)
web后端-最好用的扒站仿站工具(网页克隆网页复制)
|
API 区块链 开发者
DEFI|swap薄饼LP流动性锁定指定代币合约开发部署
DEFI|swap薄饼LP流动性锁定指定代币合约开发部署
|
存储 算法 安全
非常详细!操作系统【IO核心子系统】
非常详细!操作系统【IO核心子系统】
|
人工智能 智能设计 云计算
阿里云LOGO设计智能生成入口网址
阿里云logo智能设计一键生成海量LOGO可供选择,阿里云百科分享阿里云LOGO设计生成网址链接以及使用方法,智能LOGO设计,仅需3步,10秒生成,AI匹配海量logo,商用无忧:
4398 1
阿里云LOGO设计智能生成入口网址