Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ethereum contract #46

Open
xiaotiandada opened this issue Jan 19, 2021 · 0 comments
Open

Ethereum contract #46

xiaotiandada opened this issue Jan 19, 2021 · 0 comments

Comments

@xiaotiandada
Copy link
Owner

xiaotiandada commented Jan 19, 2021

Ethereum

Ethereum study notes

学习资料

cryptozombies 这个教程写的挺好的!!!

简易的拍卖 rinkeby 测试网

总结(一)

配置本地的开发环境以及遇到的坑

首先看看这里 https://ethereum.org/

然后开发可以参照这篇文章进行学习和实战 https://www.qikegu.com/docs/4733

truffle init的时候遇到一个connect x.x.x.x:443的错误

官方给出来的答复是 GFW It's all GFW's fault, when i crossed GFW, everything work. issues/2995

我目前的解决方案是直接clone repo然后一些基本的目录都有了,然后在继续参考教程跑流程

总结(二)

本地部署多个项目的合约无法成功

本地执行 truffle compile 显示是成功的

执行 truffle migrate 显示是最新的

但是实际在 truffle console || truffle test 里面调用时错误的

解决方案是 truffle migrate --reset 增加 --reset !!!

看到一篇文章有写到这个问题 https://www.jianshu.com/p/42479ede6730

这个命令会执行所有migrations目录下的js文件。如果之前执行过truffle migrate命令,再次执行,只会部署新的js文件,如果没有新的js文件,不会起任何作用。如果使用--reset参数,则会重新的执行所有脚本的部署。truffle migrate --reset。

总结(二)

简单的计数器合约

初始化项目

因为本地truffle init有问题, 所以我这里采取clone的方式init, 具体步骤参考上文

git clone xxxxxx

然后替换名字

mv xxx counter

然后喜欢性的npm

npm init

新建计数器合约

contracts目录新建

touch Counter.sol
pragma solidity >=0.4.21 <0.7.0;

// 声明
contract Counter {
  // 声明计数器变量
  uint256 counter;

  // 部署时调用 初始化
  constructor() public {
    counter = 0;
  }

  // 增加方法
  function increase() public {
    counter += 1;
  }

  // 返回counter uint256是类型
  function get() public view returns(uint256) {
    return counter;
  }

}

编译、部署、测试合约

部署的时候需要在migrations目录新建2_deploy_contracts.js前面需要加上序号

执行需要 具体文档有写 https://www.qikegu.com/docs/4798

truffle compile

truffle migrate

truffle test

部署过程基本都大同小异(略过 不重复写了), 可以参考上文的资料进行部署


⬆️   已落后


使用 (Hardhat)(https://hardhat.org/guides/create-task.html)

@xiaotiandada xiaotiandada changed the title Ethereum study notes (Ethereum学习笔记) Ethereum contract Jun 13, 2022
@xiaotiandada xiaotiandada mentioned this issue Jun 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant