ETH之Solidity:Solidity的简介、安装、使用方法之详细攻略

简介: ETH之Solidity:Solidity的简介、安装、使用方法之详细攻略

Solidity的简介


      Solidity 是一个面向合约的高级语言,其语法类似于JavaScript 。是运行在以太坊虚拟机中的代码。 Solidity 是静态类型的编程语言,编译期间会检查其数据类型。支持继承、类和复杂的用户定义类型。  在线体验: https://remix.ethereum.org ,但是这平台只能撰写和编译Solidity代码,如果想真正运行代码的话,需要有一个以太坊的本地环境。

      Solidity是一种面向合同的高级语言,用于实现智能合同。它受到C++、Python和JavaScript的影响,并被设计成面向虚拟机(EVM)。坚固性是静态类型的,支持继承、库和复杂的用户定义类型以及其他特征。如你所见,有可能创造合同,投票,众筹,盲目拍卖,多签名钱包和更多。

     现在尝试使用Solidity的最好方法是使用Remix(它可能需要一段时间来加载,请耐心等待)。ReMoice是一个基于Web浏览器的IDE,它允许您编写可靠的智能合同,然后部署和运行智能合同。

Solidity的官网



ETH


ETH的区块链浏览器




更多内容相关网站

EthFans: https://ethfans.org/

Book: https://ethereum.gitbooks.io/frontier-guide/content/index.html



Solidity的安装


推荐文章:https://solidity.readthedocs.io/en/develop/installing-solidity.html



Solidity的使用方法


///定义smart contact

contract Business1{

   uint256 public deposite;   //定义交的保证金数

   address public payer;      //定义谁交的保证金

   //deposite 实现交保证金的代码,因为该函数要被调用,所以定义为public公有的,payable是接受付款功能

   function payDeposite() public payable{

       deposite=mag.value;

       payer=mag.sender;

   }

}

miner.start()  启动挖矿

miner.start(1) 或者启动挖矿

miner.stop()  停止挖矿

miner.setEtherbase(addr) 设置主账户

personal.unlockAccount(eth.accounts[0]) 解锁账户

personal.newAccount() 创建一个账户

eth.accounts 查询所有账户

eth.coinbase 主账户

eth.sendTransaction({from:eth.accounts[0], to:eth.accounts[1], value:amount}) 交易

eth.getBalance(addr) 查询账户余额

eth.blockNumber 查看区块总数

eth.getTransaction(“transactionAddr”) 查看交易

eth.getBlock(blockNumber) 通过区块号查看区块

web3.fromWei(eth.getBalance(eth.accounts[0]), ‘ether’) 从wei换算成以太币

web3.toWei(1) 以太币换算成wei

selfdestruct(recipient) 销毁合约,余额转到recipient中


相关文章
|
Java Spring
Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!
Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用 Spring Boot 某些类的自动化配置了。
Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!
|
5月前
|
算法 安全 新能源
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
440 0
|
5月前
|
机器学习/深度学习 边缘计算 算法
虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型(simulink仿真实现)
虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型(simulink仿真实现)
498 0
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
6631 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
Go 索引
Go 1.22 slices 库的更新:高效拼接、零化处理和越界插入优化
本文详细介绍了 Go 1.22 版本中 slices 库的更新内容,总结起来有三个方面:新增了 Concat 函数、对部分函数新增了零化处理的逻辑和对 Insert 函数进行了越界插入优化
464 7
Go 1.22 slices 库的更新:高效拼接、零化处理和越界插入优化
|
存储 安全 Java
深入理解ThreadLocal:线程局部变量的机制与应用
在多线程编程中,`ThreadLocal`变量提供了一种线程安全的解决方案,允许每个线程拥有自己的变量副本,从而避免了线程间的数据竞争。本文将详细介绍`ThreadLocal`的工作原理、使用方法以及在实际开发中的应用场景。
354 3
|
传感器 安全 Go
程序与技术分享:3D打印机如何添加自动调平功能
程序与技术分享:3D打印机如何添加自动调平功能
742 0
|
存储 关系型数据库 MySQL
架构面试题汇总:40道题吃透mysql(2024版)
架构面试题汇总:40道题吃透mysql(2024版)
|
JavaScript Java 测试技术
基于Java的志愿者管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的志愿者管理系统的设计与实现(源码+lw+部署文档+讲解等)
279 0
|
前端开发
HTML+CSS制作旋转的loading效果
HTML+CSS制作旋转的loading效果