学习区块链(三)--HelloWorld智能合约

在上一节搭建好环境的基础上,我们来创建一个简单的智能合约:

1.首先开启一个终端启动 testrpc,直接输入testrpc即可

2.然后开启另一个终端,创建一个文件夹:mkdir dapp

3.初始化第一个truffle项目,truffle init

完成后,你将拥有如下目录:
》contracts 智能合约目录
》migrations 发布脚本目录
》test 存放测试文件
》truffle.js Truffle的配置文件

4.在contracts目录中新建一个HelloWorld.sol文件,代码如下:

pragma solidity ^0.4.4;
contract HelloWorld {
  function sayHello() returns (string) {
  return ("hello");
  }

5.编辑migrations/1_initial_migration.js部署脚本,将我们刚才创建的Hello_mshk_top.sol文件设置到发布配置文件中,内容如下:

var HelloWorld = artifacts.require("./HelloWorld.sol");
module.exports = function(deployer) {
  deployer.deploy(HelloWorld);
};

千万不要打错字母哦!!!

6.将项目使用truffle compile命令进行编译,编译后的文件都放在了./build/contracts目录下;

7.部署智能合约,编辑truffle.js配置文件,设置我们稍后要部署智能合约的位置,内容如下:

module.exports = {
    networks: {
        development: {
          host: "localhost",
          port: 8545,
          network_id: "*"
        }
    }
};

8.truffle的智能合约项目部署,使用下面的命令:

truffle deploy

学习区块链(三)--HelloWorld智能合约_第1张图片

9.与合约互动

truffle console 
 HelloWorld.deployed().then(instance => contract = instance)

truffle console 中预载了 truffle-contract 函数库,以方便操作部署到区块链上的合约。
这边使用 HelloWorld.deployed().then 语句来取得 HelloWorld 合约的 Instance (实例),并存
到 contract 变量中,以方便后续的调用。

最后调用合约:

contract.sayHello()

这里写图片描述

到此,简单的合约部署就成功了,下一步将继续学习sodility的语法知识!

你可能感兴趣的:(区块链,智能合约入门)