-
web3 以太坊开发-30-以太坊智能合约部署 smart contracts deploy
部署智能合约
需要部署智能合约才能提供给以太坊网络的用户使用。
要部署一个智能合约,只需发送一个包含编译后的智能合约代码的以太坊交易,而不需要指定任何收件人。
如何部署智能合约
您所需要的
您的合约字节码 – 这是通过编译获得的。
用作燃料的以太币 – 像其他交易一样,您需要设定燃料限制,这样就知道部署合约比简单的以太币交易需要更多的燃料。
一个部署脚本或插件。
访问以太坊节...
2022-10-28 13:01:55 |
web3
-
web3 以太坊开发-29-以太坊智能合约编译 smart contracts compile
编译智能合约
您需要编译您的合约,以便您的 web 应用程序和以太坊虚拟机能够理解它。
以太坊虚拟机
要使以太坊虚拟机能够运行您的合约,您的合约必须被编译为字节码。
编译过程把如下代码:
pragma solidity 0.4.24;
contract Greeter {
function greet() public constant returns (string)...
2022-10-28 13:01:55 |
web3
-
web3 以太坊开发-28-以太坊智能合约测试 smart contracts testing
测试智能合约
测试智能合约是改善智能合约安全的最重要措施之一。
与传统软件不同,智能合约通常在启动后便无法更新,因此在以太坊网络上部署合约之前必须进行严格测试。
什么是智能合约测试?
智能合约测试是指对智能合约进行详细的分析和评估,以在开发周期内评估其源代码的质量。
测试智能合约可以更容易地识别错误和漏洞,并降低出现软件错误的可能性,有利于避免代价高昂的漏洞利用。
智能合约测试有...
2022-10-28 13:01:55 |
web3
-
web3 以太坊开发-27-以太坊智能合约库 smart contracts libraries
智能合约库
您无需从头开始编写项目中的每一个智能合约 我们有许多开源代码的智能合约库可为您的项目提供可重复利用的构建块,从而使您不必重新开始。
资料库中的内容
您通常可以在智能合约库中找到两种构建模块:可以添加到合约中的可复用代码,与各种标准的实现。
行为
当编写智能合约时,您很可能会发现自己在写重复的代码。
比如说在智能合约中指派一个管理员地址执行受保护的操作,或添加一个紧急暂...
2022-10-28 13:01:55 |
web3
-
web3 以太坊开发-26-以太坊智能合约结构 smart contracts anatomy
详解智能合约
智能合约是一种在以太坊某个地址上运行的程序。
它们是由数据和函数组成的,可以在收到交易时执行。
以下概述一个智能合约的组成。
数据
任何合约数据必须分配到一个位置:要么是存储,要么是内存。
在智能合约中修改存储消耗很大,因此您需要考虑数据在哪里存取。
存储
持久性数据被称之为存储,由状态变量表示。
这些值被永久地存储在区块链上。
您需要声明一个类型,以便于合...
2022-10-28 13:01:55 |
web3
-
web3 以太坊开发-25-以太坊智能合约语言 smart contracts languages
智能合约语言
关于以太坊的一个重要方面是,智能合约可以使用相对友好的开发者语言编程。
如果您熟悉 Python 或任何大括号语言,可以找到一种语法熟悉的语言。
最受欢迎和维护得最好的两种语言是:
Solidity
Vyper
更有经验的开发者也可能想要使用 Yul:一种用于以太坊虚拟机的中间语言,或者是 Yul+ 语言,这是一种 Yul 扩展。
如果您很好奇,喜欢帮助测试仍在大...
2022-10-28 13:01:55 |
web3
-
web3 以太坊开发-24-以太坊智能合约 smart contracts
什么是智能合约?
智能合约只是一个运行在以太坊链上的一个程序。
它是位于以太坊区块链上一个特定地址的一系列代码(函数)和数据(状态)。
智能合约也是一个以太坊帐户,我们称之为合约帐户。
这意味着它们有余额,可以成为交易的对象。
但是,他们无法被人操控,他们是被部署在网络上作为程序运行着。
个人用户可以通过提交交易执行智能合约的某一个函数来与智能合约进行交互。
智能合约能像常规合...
2022-10-28 13:01:55 |
web3
-
web3 以太坊开发-23-以太坊堆栈简介
以太坊堆栈简介
就像其他任何一种堆栈结构,完整的“以太栈”会基于不同的目的在不同的项目之间变换。
然而,以太坊的核心技术是提供一种心智模型,这种模型帮助解决了以太坊区块如何在不同的应用之间的交互的问题。
理解堆栈的层级将有助于您理解可以将以太坊融入软件项目的不同方法。
级别 1:以太坊虚拟机
以太空虚拟机 (EVM) 是用于智能合约的运行环境。
以太坊区块链上的所有智能合约和状态...
2022-10-28 13:01:55 |
web3