辉哥注册后,获得APIKEY:8ce5ebd357144bef8dceae3de1915e29
如何获取METAMASK的助记词METAMASK的助记词是针对原创账户的。在TRUFFLE框架下默认使用第一个创建的ACCOUNT1进行部署操作。
如何获取imToken钱包的助记词imToken钱包的助记词一般在你创建钱包的时候已经备份好了,之后会被删除。钱包此时只能导出私钥或者keystore了。
修改配置文件配置文件truffle.js,增加ROSPTEN和MAINNET环境配置内容。
把DAPP工程上传到UBUNTU的ETH环境。记得把WINDOWS下的main.env文件改为.env文件,便于运行时环境读取。
Infura组织是MetaMask背后的以太坊供应商。Infura提供了一个托管的以太坊节点集群,可以将你开发的以太坊智能合约部署到infura提供的节点上,而无需搭建自己的以太坊节点。Infura不保存你的私钥,Infura可以通过使用HDWalletProvider来签署交易。该服务可以处理事务签名以及与以太坊网络的连接。在宠物商店根目录下运行命令:
npminstalltruffle-hdwallet-provider成功输出参考如下:
npminstalldotenv安装成功的输入如下:
(1),在宠物商店根目录下运行命令:
trufflemigrate--networkropsten--reset--compile-all重新编译成功后会部署到ropsetn测试环境。成功输出内容参考:
duncanwang@ubuntu:~/work/dapp-guide-pet-shop$trufflemigrate--networkROPSTEN--reset--compile-all...Writingartifactsto./build/contractsUsingnetwork'ropsten'.Runningmigration:1_initial_migration.jsDeployingMigrations......0xe9a11fa0cb23c1c87068c97719b1400285bb56c1d6592415104d794657c23e36Migrations:0x4c6475632bd8101727d0b4bcce8f9fbc5eef43f0Savingsuccessfulmigrationtonetwork......0xe04d70b45866abfae901396d76d8509c39c747dee203e979b60ec324d2bf3179Savingartifacts...Runningmigration:2_deploy_contracts.jsDeployingAdoption......0x824322568f00e51b7b707d212da9f9c1a2f56a1bdb9a2734ea5ce6c544f7bb2aAdoption:0xa65fc2fbbfb0c74a984144df3174853fe74e2179Savingsuccessfulmigrationtonetwork......0xe209420af44a028590408aff402829e746ef9abb109db808b75ff8aa1ec28ac3Savingartifacts...提取合约地址,点击可以查看部署成功的合约链接:
(2)本次因为不需要采用本地环境,所以不需要启动ganache-cli环境,但是需要在独立环境窗口安装,运行lite-server环境,以便访问宠物商店网页。输入命令:
npminstalllite-server--save-devnpmrundev安装成功输出参考:
duncanwang@ubuntu:~/work/dapp-guide-pet-shop$npminstalllite-server--save-devnpmWARNtruffle-hdwallet-provider@0.0.6requiresapeeroftruffle@4.xbutnoneisinstalled.Youmustinstallpeerdependenciesyourself.npmWARNpet-shop@1.0.0NodescriptionnpmWARNpet-shop@1.0.0Norepositoryfield.npmWARNoptionalSKIPPINGOPTIONALDEPENDENCY:fsevents@1.2.4(node_modules/fsevents):npmWARNnotsupSKIPPINGOPTIONALDEPENDENCY:Unsupportedplatformforfsevents@1.2.4:wanted{"os":"darwin","arch":"any"}(current:{"os":"linux","arch":"ia32"})+lite-server@2.4.0added19packagesfrom24contributors,removed19packagesandupdated40packagesin41.6slite-server运行成功参考:
(4)领养宠物狗狗点击领养的流程同第六课私有以太坊环境的操作。
记得把有以太坊余额的助记词配置到.env文件。运行命令:
trufflemigrate--networkmainnet--reset--compile-all运行成功结果参考:
duncanwang@ubuntu:~/work/dapp-guide-pet-shop$trufflemigrate--networkmainnet--reset--compile-all...Writingartifactsto./build/contractsUsingnetwork'mainnet'.Runningmigration:1_initial_migration.jsDeployingMigrations......0xa31fa855a85808c974f49d894b2116d6bdd916c52118026bb3ab02fbcbe765c9Migrations:0x71636b5d2ee99a251b511226e17a27d79d73276fSavingsuccessfulmigrationtonetwork......0xb36f92716e38e28dcb0c9e4f8fa13e54a1ab0ddd81a8ac70c8384aa680a5cb10Savingartifacts...Runningmigration:2_deploy_contracts.jsDeployingAdoption......0x047ef9057c76aac9929ff2a2d72426170b12bd513452a05281b14dbd7414a37fAdoption:0xe2202412f3a6c8ce4fedd1bcad5890444416a524Savingsuccessfulmigrationtonetwork......0x709859af998907ee1b17815f621430dc4cfdc663a5f3f4ad78517c8675c15016Savingartifacts...点击可查看辉哥本次部署合同的合约地址链接:
辉哥最终cancel了本次交易,就不花这蛋疼的钱了。
【输出描述】
Error:Error:Commandfailed:./configureconfigure:error:in`/home/duncanwang/work/cet-token/node_modules/scrypt/scrypt/scrypt-1.2.0':configure:error:noacceptableCcompilerfoundin$PATHSee`config.log'formoredetails...【解决方法】针对这个问题的解决,辉哥走过较多的弯路,包括VPN,安装GCC"npminstall-ggcc","npmrebuild"都没有解决。最终通过运行命令解决了。
sudoapt-getinstallbuild-essential【解决方法2】辉哥在CentOS6.5上安装truffle-hdwallet-provider时又遇到类似问题。采用CentOS的安装命令yumgroupinstall"DevelopmentTools"yuminstall-ygccg++kernel-devel安装成功后编译truffle-hdwallet-provider时还是失败。查看g++的版本,发现是V4.4.7的,这个至少需要V4.7才能成功。
Runningmigration:1_initial_migration.jsDeployingMigrations...Errorencountered,bailing.Networkstateunknown.Reviewsuccessfultransactionsmanually.insufficientfundsforgas*price+value【解决方法】(1)辉哥忘记在.env中配置mnemonic_mainnet的助记词,提示也是这个。(2)后来辉哥使用METAMASK导出的助记词配置给mnemonic_mainnet,也往METAMASK导入了有足够主网ETH的账号,还是提示错误。后来确认导入账号的助记词不能从METAMASK导出。获取正确的助记词就解决了。
duncanwang@ubuntu:~/work/PuzzleBID$trufflemigrate--networkropsten--reset...Error:Cannotfindmodule'web3-provider-engine/subproviders/nonce-tracker'atFunction.Module._resolveFilename(internal/modules/cjs/loader.js:548:15)