使用Remix编写Solidity语言的小例子

设置数值/取数值/加法运算

讲解

  • uint默认使用256位数的整型
  • view表示这个函数仅仅对于数据仅仅是读取,没有修改操作
  • returns(uint ),如果单纯指定uint,返回的是函数体内的return值,如果包含uint sum,uint SAD_a,那么返回就会包含sum和SAD_a字段

代码

pragma solidity ^0.4.17;contract SimpleStorage{uint myData;function setData(uint newData)public{myData = newData;}function getData() public view returns(uint){return myData;}function pureAdd(uint a,uint b)public pure returns(uint sum,uint SAD_a){return (a+b,a);}
}

界面

进行操作

  • 先点击Deploy进行合约部署,然后选择setData,输入数据;在console显示成功执行之后,点击getData取传入的数据
  • pureAdd传入两个数字,以英文逗号相隔,输入后点击pureAdd获取相加的结果

汽车品牌/设置和取值

讲解

  • string可以输入很多的字符串,因此存在隐患,会爆出警告,可以使用bytes来替代,后面也会设定字节数
  • 如果是string,输入的时候需要加入引号
  • 如果是bytes,只接收十六进制的数,因此需要编码将utf编码转化为十六进制,使用web3的函数,web3.toHex(“字符串”),生成十六进制的串;web3.toUtf8(“得到的哈希序列”)
  • 将price设置为public则默认会有get方法,不需要写对应的获取方法也是可以得到数值的

代码

pragma solidity ^0.4.17;contract Car{string brand;uint public price;constructor(string initBrand,uint initPrice)public{brand = initBrand;price = initPrice;}function setBrand(string newBrand)public{brand = newBrand;}function getBrand() public view returns (string){return brand;}function setPrice(uint newPrice)public{price = newPrice;}
}

界面

  • 加入constructor进行初始化合约赋值,先输入品牌,价格再部署合约,赋予初始默认值

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RTP协议栈简介

流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在L…

使用多线程的方式调用chineseocr_API

ChineseOCR在线API 网页链接 界面 提供多种接口调用方式,比如在线调用、Javascript api调用、curl api调用和python api调用四种方式,本次使用javascript api调用的方式进行OCR识别代码 import glob import base64 import os import requests import …

开源好代码 音视频

VirtualDub 一、简介 图1VirtualDub主界面 VirtualDub是一款开源的音视频捕获、处理软件。VirtualDub也可称为一款多媒体编辑软件,因为它包含了多媒体输入、编辑、处理、输出等各个环节,但是作者并未将它定位为一款多媒体编辑软件(参见官网&a…

深入理解Solidity 二

Solidity数据位置 所有复杂的数据类型,即数组、结构和映射类型,都会有一个额外属性“数据位置”,用来指定数据的存储位置,即数据是存储在memory还是存储在storage里面根据上下文环境,IDE会自动指定数据的默认存储位置…

VOIP简介

一、什么是VOIP VOIP全称为(VoiceOver Internet Protocol),是一种利用Internet网络进行语音通信的技术,更通俗一点说,就是IP电话。就是以IP分组交换网为传输平台,对模拟的语音信号进行编码压缩&#xff0c…

深入理解Solidity 三

Solidity函数声明和类型 函数的值类型有两类:内部(internal)类型和外部(external)类型内部函数只可以在当前合约内部被调用(即在当前代码块内,包括内部库函数和继承函数)&#xff0c…

安装solc模块4.25版本

使用国产阿里云的cnpm 如果不知道cnpm 参考链接 安装solc模块4.25版本 npm i solc0.4.25 --save -g查看安装是否成功 可以配置软连接使用solc,我的没有配置 solcjs --version

在pycharm中使用conda虚拟环境(conda虚拟环境是已经创建好的),解决python安装包文件很费劲的问题

查看conda的虚拟环境 使用PyCharm连接conda创建的虚拟环境,需要一个前提就是虚拟环境必须存在,使用conda env list命令查看虚拟环境列表打开PyCharm软件 打开pycharm,选择File->setting->Project:****->Project Interperter&#…

完成一个H.265/HEVC码流分析工具

经过大约一个月左右的业余时间,终于初步完成一个H.265/HEVC码流分析工具。时间包括平时的周末、晚上,以及调休的集中时间。当然,中秋回家过节不写代码。截至今天,经过多种H.265序列测试,也有各种工具对比,基…

Golomb及指数哥伦布编码原理介绍及实现

文章来源: https://www.cnblogs.com/wangguchangqing/p/6297792.html , 写的不错,转发出来。 2017年的第一篇博文。 本文主要有以下三部分内容: 介绍了Golomb编码,及其两个变种:Golomb-Rice和Exp-Golo…

解决ipfs 出现Error: can‘t publish while offline: pass `--allow-offline` to override的问题

原因 出现这个问题的原因是因为,ipfs未与公网上的节点相互连接,因此此时处于离线状态 使用场景 部署自己的博客,后期的改动,累计追加在同一个地址,这个地址是唯一的,也就是创建ipfs生成的ID号 步骤 1&…

安装ipfs-http-client出现constants@0.1.2 install: node build.js > index.browser.js错误的解决办法

错误截图 原先的命令 npm install --save-dev ipfs-http-client 修改后的命令 npm install --save-dev ipfs-http-client --unsafe-permtrue --allow-root

安装ipfs-api的命令变了,最新版的命令如下

原先使用的命令安装ipfs-api npm install --save-dev ipfs-api 现在使用的命令安装ipfs-api npm install --save-dev ipfs-http-client 官方文档 参考教程 官方文档

区块链相关问题 理解

本博客针对区块链的部分问题进行详解,希望帮助大家对于区块链有一个更好的理解 1,如果散布虚假交易,怎么整?(谁欠我XXX比特币) 1,可以发起虚假交易,但是很难被全网的节点接收并写入…

区块链的相关知识点

1,密码学原理 密码学原理 1,collision resistance 哈希函数 ,目前还是很安全的,没有找到任何不同的内容其哈希是一致的情形。哈希碰撞(这个在数学上面是没法证明的,都是日常的实践表明,无法找…

使用MAC 编译合约的时候报错:

编译报错的显示内容如下: Error: EACCES: permission denied, mkdir /Users/chy/Documents/ipfslearn/ipfs_eth_img/client/src/contracts 最简单的解决方法 原因分析:执行的权限不够 解决办法:升级权限 使用命令 chmod 777 项目的文件夹使…

最新,使用truffle框架之后,安装ipfs的api包文件的命令变化

原因 项目文件路径变化了,不是先前直接在项目文件夹里面直接执行安装ipfs的命令了,需要切换到client文件夹下面执行 路径不对,会出现错误,错误提示如下 切换到正确的路径之后,使用命令 npm install --save ipfs-http-…

通过node 完成简单的web3 API调用测试

使用命令查看当前web3的版本 npm list web3输入命令 node,进入终端 引入web3,使用命令 var web3 require(web3) 查看引入web3的版本 web3.version

LInux学习笔记(四)-----实操排雷

参考书籍:linux就该这么学 4 Vim 编辑器与 Shell 命令脚本 4.1 Vim 文本编辑器(在 Vim 中,无法直接从输入模式切换到末行模式) 4.1.1 配置 Yum 软件仓库 注:书中好像有点问题,第一个 . 改成 /(我是Ubuntu发现原来不能用…

Web3.js 学习

web3.js Web3 JavaScript app APIweb3.js是一个JavaScript API库,一般使得DApp在以太坊上运行web3.js通过RPC调用与本节点通信,用于任何暴露了RPC层的以太坊节点之间通信web3包含了eth对象,即web3.eth(专门和以太坊区块链交互&am…