编写和部署智能合约:智能合约工具、remix、Truffle

第五章



一、智能合约工具

智能合约的编译环境就是solidity的编译环境,智能合约的执行环境就是EVM。

二、remix

对于底层调用address.call()返回bool类型,0是失败,1是成功。调用方无法获得被调用函数的返回值。
address.delegatecall() 通过调用别的智能合约中的方法,修改自己的智能合约的状态。
即使没有某一变量也不会造成调用执行失败,EVM会在一个未定义的位置存储一个数据。

三、Truffle


总结

以上就是今天要讲的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您希望开发一个基于区块链的 DApp 登录注册页面,您可以使用 Remix IDE 编写智能合约,然后在您的 Web 应用程序中使用 MetaMask 钱包来与合约进行交互。 以下是一个示例智能合约代码,用于在区块链上存储用户信息和验证用户登录: ``` pragma solidity ^0.8.0; contract UserRegistry { mapping (address => bytes32) private users; // 存储用户信息 function register(bytes32 username) public { users[msg.sender] = username; } function login(bytes32 username) public view returns (bool) { return users[msg.sender] == username; } } ``` 在这个示例中,我们使用了一个名为 `UserRegistry` 的智能合约,它包含两个函数:`register` 和 `login`。 `register` 函数允许用户将其用户名存储到区块链上,通过将用户名作为参数传递给这个函数。我们使用 `msg.sender` 来标识用户,以便我们可以将用户名与正确的地址关联起来。 `login` 函数允许用户验证其用户名是否正确,返回一个布尔值。如果用户传递的用户名与存储在区块链上的用户名匹配,则函数返回 `true`,否则返回 `false`。 在 Remix编写智能合约代码后,您可以使用 Remix 提供的 Solidity 编译器将代码编译成 EVM 字节码。然后,您可以将字节码复制到 MetaMask 钱包中,以便您可以在 Web 应用程序中与智能合约进行交互。 要在 Web 应用程序中使用 MetaMask 钱包,请确保用户已安装 MetaMask,并且您的应用程序可以与 MetaMask 进行交互。您可以使用 Web3.js 或其他类似的库来与 MetaMask 进行交互,以便您可以与智能合约进行交互并读取区块链上存储的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值