solidity合约开发一

solidity合约开发一

1、安装 0.4.26版本的solc编译器
2、使用remx开发

1、安装 0.4.26版本的solc编译器

Step:1 安装 0.4.26的solc

安装 0.4.26的版本只有在docker中才能找到这个版本。所以要安装这个版本只能先用 ubuntu 安装 docker-ce版本的docker 然后在安装0.4.26solc
0.4.26.solc下载地址:https://hub.docker.com/r/ethereum/solc

  • 启动docker

    systemctl start docker
    
  • 安装 0.4.26.solc

     docker pull ethereum/solc:0.4.26
    
  • 查看docker 镜像文件

    docker images
    # 返回:
    root@hc-lubuntu:~# docker images
    REPOSITORY          TAG                     IMAGE ID            CREATED             SIZE
    hello-world         latest                  bf756fb1ae65        6 months ago        13.3kB
    cita/cita-run       ubuntu-18.04-20191128   dbc23a2beff8        7 months ago        590MB
    ethereum/solc       0.4.26 
    
  • 使用 ethereum/solc 0.4.26 容器

    docker run -t -i ethereum/solc:0.4.26 --version
    # 说明 查看solc 的版本
    

至此 solc 0.4.26安装完成

2、使用remx-ide编写solidity

Step:1 下载remx-ide

下载地址:https://github.com/ethereum/browser-solidity/tree/gh-pages 的页面说明下载 zip 文件来使用
解压 remix-7013ed1.zip
使用 浏览器打开即可使用
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Solidity是一种用于编写智能合约的高级编程语言,它被广泛应用于Ethereum区块链上的智能合约开发。比较复杂的Solidity合约通常涉及多个函数、数据结构和逻辑,以下是一个简单示例: 合约名: ComplexContract 合约功能: ComplexContract合约实现一个简单的投票系统,可以添加候选人、对候选人进行投票以及获取候选人的得票数。 状态变量和数据结构: 1. uint public totalVotes; // 总票数 2. mapping(string => uint) public candidateVotes; // 候选人的得票数,以候选人姓名为键 3. struct Candidate { string name; // 候选人姓名 string party; // 候选人党派 } Candidate[] public candidates; // 候选人数组 函数: 1. function addCandidate(string memory _name, string memory _party) public { require(bytes(_name).length > 0 && bytes(_party).length > 0, "姓名和党派不能为空"); candidates.push(Candidate(_name, _party)); } // 添加候选人 2. function vote(string memory _candidateName) public { require(bytes(_candidateName).length > 0, "候选人姓名不能为空"); require(candidateVotes[_candidateName] == 0, "不能重复投票"); candidateVotes[_candidateName] += 1; totalVotes += 1; } // 对候选人进行投票 3. function getCandidateVotes(string memory _candidateName) public view returns (uint) { require(bytes(_candidateName).length > 0, "候选人姓名不能为空"); return candidateVotes[_candidateName]; } // 获取候选人的得票数 复杂的Solidity合约通常还会包括更多功能,如删除候选人、修改投票结果等。以上是一个简单示例,但复杂的Solidity合约的编写需要更加详细的设计和思考,以确保合约的正确性和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值