美文网首页
Truffle 入门

Truffle 入门

作者: BestFei | 来源:发表于2019-10-31 10:56 被阅读0次

    Truffle是以太坊的开发者工具,是一个开发环境,测试框架,以太坊的资源管理通道

    一、安装Truffle

    npm install -g truffle
    安装完成后,可以执行truffle命令,确保Truffle被正确安装,会返回版本号
    Truffle v5.0.42 - a development framework for Ethereum

    二、创建并初始化项目

    依次执行命令

    mkdir dapp
    cd dapp
    truffle init
    

    执行初始化命令后可以看到目录下生成了一些目录及文件,其中:



    contracts:存放Solidity合约目录,
    migrations:存放部署脚本文件目录,
    test:测试脚本目录,
    truffle-config.js 为Truffle配置文件

    接下来介绍一下 Truffle Boxes,Truffle Boxes装有很多一些实用的项目模板,能让你忽略一些环境配置问题,从而使你能更专注于你的dapp特性开发。此外,Truffle Boxes还包含其他有用的组件, Solidity 合约和库, 前后端视图等等。更多可查看官网

    那就下载个模板看看,MetaCoin是一个简单的代币应用,以此为例

    mkdir metacoin
    cd metacoin/
    truffle unbox metacoin
    

    相比执行init,多了关于metacoin的合约和库文件,合约部署文件和测试文件。

    三、启动以太坊客户端

    我们需要安装Ethereum客户端来支持JSON RPC API的调用。
    有许多的以太坊客户端可以选择。我们推荐在本地开发和主网部署时使用不同客户端。
    本地开发可以使用Canache、Ethereumjs-testrpc、或者truffle自带的Truffle Develop。
    主网部署时使用Geth。
    这里以Ethereumjs-testrpc为例,事实上,合约在部署到主网之前,都应先使用TestRPC进行充分测试。
    安装TestRPC npm install -g ethereumjs-testrpc
    运行TestRPC testrpc
    会返回10组账号

    EthereumJS TestRPC v6.0.3 (ganache-core: 2.0.2)
    
    Available Accounts
    ==================
    (0) 0x7d905571177b03aef9b33d8a011bbef44bc56f64
    (1) 0x2a31e7503568b24bf1963f86df31166e8726cc0c
    (2) 0x619ac44690cc0d8a12abdaf489cef796eaaa7166
    (3) 0x5445b8411c986f7cba9da5414a7d8993ce5e28f9
    (4) 0x4392370b7384f146ccf3922356fa4dbe6782a082
    (5) 0xcea9cca4ba15a2d416a594d00f11ce61660c3af4
    (6) 0x1574c86a96d9a003cd20c345a40d1c65ce16dbce
    (7) 0x50fc22b78a5e31d33710dd83b9e77f015b444fc5
    (8) 0xc687db709bb773d69bd5e1d1d292e1077ed66104
    (9) 0x035782af27f6a421dfbc20c24f25f6b73673f497
    
    Private Keys
    ==================
    (0) 0c82d25b833bd1179fdf60a800273c9962e8b1de1389c786b2762c89c5f52b32
    (1) 8dc40982a864826b88069974c6dce0961d125e9c139b7fadaf651578cdfa922b
    (2) 35f8c7eae37854e85a5403daae386d214978554e2ed5016b617c9c496bde3ea4
    (3) 65701915d1a5ee65d559a5a3e38c4cbbd46b22608ae1c5d89629faea13779b0e
    (4) befc8ab028aab79823a3963d3de38aa244d80b22659cdb0fb26e9584375feadc
    (5) 598408b51d558619c326d2f4fb5d455f14bb6ffac0193930c2c3131801a8d8e0
    (6) 75693092a9e897ebcf99de3ead64d0fd3d637484f9202b6541e562a0a6e26f9e
    (7) df8bf21e6fc394f9d494db726414478a5c65bb3563b428ee92ab5fee93154093
    (8) 908dd217b552a894c39e5b42c4bfacb709c06272af182132f03bd1a3b2df2ff6
    (9) 361932382cc438e5f0bd884a2c21f909b9550a34543013e2b5024edf7ea07e02
    
    HD Wallet
    ==================
    Mnemonic:      library grief design thought few best jungle age wire arrow license afraid
    Base HD Path:  m/44'/60'/0'/0/{account_index}
    
    Listening on localhost:8545
    

    四、编译部署合约

    编辑配置文件truffle.js,保证配置文件中指定网络和你运行的网络一致。
    这里要注意的是:Ganache默认运行在7545端口,Ethereumjs-testrpc 默认运行在8545端口,Truffle Develop 默认运行在9545端口

    module.exports = {
        networks: {
            development: {
                host: 'localhost',
                port: '8545',
                network_id: '*' // Match any network id
            }
        }
    };
    

    使用truffle compile命令,编译生成build文件夹


    使用truffle migrate命令,部署合约

    五、测试合约

    使用命令truffle test
    可以看到测试结果和用时等相关信息。

    相关文章

      网友评论

          本文标题:Truffle 入门

          本文链接:https://www.haomeiwen.com/subject/awxavctx.html