Solidity搭建僵尸工厂

pragma solidity ^0.4.19; // 版本号

//建立智能合约

contract ZombieFactory {

    event NewZombie(uint zombieId, string name, uint dna);

//定义一个 事件 叫做 NewZombie。 它有3个参数: zombieId (uint), name (string), 和 dna (uint)。

    uint dnaDigits = 16;  //定义 dnaDigits 为 uint 数据类型, 并赋值 16

    uint dnaModulus = 10 ** dnaDigits; //建立一个uint类型的变量,名字叫dnaModulus, 令其等于 10的 dnaDigits 次方.

    struct Zombie {

        string name;

        uint dna;

    }

//建立一个struct 命名为 Zombie结构体,有两个属性: name (类型为 string), 和 dna (类型为 uint)。

    Zombie[] public zombies;

// 创建一个数据类型为 Zombie 的结构体数组,用 public 修饰,命名为:zombies.

    function _createZombie(string _name, uint _dna) private {

// 函数 createZombie。 有两个参数: _name (类型为string), 和 _dna (类型为uint),可见性为私有。

        uint id = zombies.push(Zombie(_name, _dna)) - 1;

//定义uint id为索引 为数组zombies.push返回数组的长度,所以要减一。

        NewZombie(id, _name, _dna);

//调用事件

    }

    function _generateRandomDna(string _str) private view returns (uint) {

//private 函数,命名为 _generateRandomDna。接收一个输入变量 _str (类型 string), 返回一个 uint 类型的数值,可见性为私有,view只读函数。

        uint rand = uint(keccak256(_str));

// _str 的 keccak256 散列值生成一个伪随机十六进制数,类型转换为 uint, 最后保存在类型为 uint 名为 rand 的变量中。

        return rand % dnaModulus;

// return 上面计算的数值对 dnaModulus 求余数(%)。

    }

    function createRandomZombie(string _name) public {

        uint randDna = _generateRandomDna(_name);

        _createZombie(_name, randDna);

// 创建一个 public 函数,命名为 createRandomZombie. 它将被传入一个变量 _name (数据类型是 string)。

// 函数的第一行应该调用 _generateRandomDna 函数,传入 _name 参数, 结果保存在一个类型为 uint 的变量里,命名为 randDna

// 第二行调用 _createZombie 函数, 传入参数: _name 和 randDna

    }

}

 看我的CryptoZombie 小敏! (cryptozombies.io)

搭建Solidity开发环境,你可以按照以下步骤进行操作: 1. 安装Node.js:首先,你需要安装Node.js,这是一个基于JavaScript的运行环境。你可以从Node.js的官方网站(https://nodejs.org/)下载适用于你的操作系统的安装包,并按照指示进行安装。 2. 安装Solidity编译器:Solidity语言需要使用Solidity编译器来将代码编译为EVM(以太坊虚拟机)可以执行的字节码。你可以使用Solidity编译器的npm包来进行安装。在命令行中运行以下命令: ``` npm install -g solc ``` 3. 选择集成开发环境(IDE):为了方便开发Solidity智能合约,你可以选择使用Remix IDE。Remix是一个基于浏览器的IDE,它提供了一个虚拟区块链环境,可以用来部署和测试合约。你可以通过访问Remix的官方网站(https://remix.ethereum.org/)来开始使用。 4. 部署和运行合约:在Remix IDE中,你可以使用"Deploy and run(部署并运行)"选项卡来部署和测试合约。确保选择Javascript VM作为环境,这样你就可以在浏览器中运行虚拟区块链环境。然后,你可以编写Solidity合约并进行部署和交互。 通过以上步骤,你就可以搭建Solidity开发环境并开始开发智能合约了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Solidity 开发环境搭建](https://blog.csdn.net/m0_61243965/article/details/125580416)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Solidity - 环境搭建](https://blog.csdn.net/weixin_43031412/article/details/103157712)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值