-
Solidity-06-Installing the Solidity Compiler
版本控制
Solidity 版本遵循语义版本控制。
此外,主版本 0(即 0.x.y)的补丁级别版本将不包含重大更改。
这意味着使用版本 0.x.y 编译的代码可以预期使用 0.x.z 编译,其中 z > y。
除了发布之外,我们还提供夜间开发版本,目的是让开发人员更容易尝试即将推出的功能并提供早期反馈。
但是请注意,虽然夜间构建通常非常稳定,但它们包含来自开发分支的前沿代码...
2022-05-22 01:22:02 |
Lang
-
Solidity-05-The Ethereum Virtual Machine
概述
以太坊虚拟机或 EVM 是以太坊中智能合约的运行时环境。
它不仅是沙盒,而且实际上是完全隔离的,这意味着在 EVM 内运行的代码无法访问网络、文件系统或其他进程。
智能合约甚至对其他智能合约的访问权限有限。
账户 Accounts
以太坊中有两种账户共享相同的地址空间:由公钥-私钥对(即人类)控制的外部账户和由与账户一起存储的代码控制的合约账户。
外部账户的地址由公钥确定,...
2022-05-22 01:22:02 |
Lang
-
Solidity-04-Blockchain Basics
区块链基础
区块链作为一个概念对于程序员来说并不难理解。
原因是大多数复杂性(挖掘、散列、椭圆曲线密码学、点对点网络等)只是为了为平台提供一组特定的功能和承诺。
一旦你接受了这些给定的功能,你就不必担心底层技术——或者你是否必须知道亚马逊的 AWS 在内部是如何工作的才能使用它?
Transactions 交易
区块链是一个全球共享的交易数据库。
这意味着每个人都可以通过参与网络...
2022-05-22 01:22:02 |
Lang
-
Solidity-03-Subcurrency Example
子货币示例
以下合约实现了最简单的加密货币形式。
该合约仅允许其创建者创建新硬币(可能有不同的发行方案)。
任何人都可以互相发送硬币,而无需使用用户名和密码进行注册,您所需要的只是一个以太坊密钥对。
pragma solidity ^0.8.4;
contract Coin {
// The keyword "public" makes variables
// a...
2022-05-22 01:22:02 |
Lang
-
Solidity-02-Introduction to Smart Contracts
一个简单的智能合约
让我们从一个基本示例开始,该示例设置变量的值并将其公开以供其他合约访问。
如果您现在不了解所有内容也没关系,我们稍后会详细介绍。
Storage Example
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;
contract SimpleStorage {
...
2022-05-22 01:22:02 |
Lang
-
Solidity-01-overview
Solidity
Solidity 是一种静态类型的花括号编程语言,旨在开发在以太坊上运行的智能合约。
特性
Solidity 正在迅速发展。
作为一门相对年轻的语言,Solidity 正在快速发展。
我们的目标是每 2-3 周发布一次常规(非破坏性)版本,每年大约发布两次破坏性版本。
您可以关注 Solidity Github 项目中新功能的实施情况。
您可以通过从默认分支 ...
2022-05-22 01:22:02 |
Lang
-
市场库存扣减方案梳理
背景
进行市场的商品售卖,要避免出现超卖的现象。
最近在做一个关于库存服务的设计方案,在网上找了很多资料,都没有一个大而全的设计方案,于是就参考网上现有的电商库存设计,设计出一个自认为非常优秀的关于库存服务扣减的方案,仅供大家参考。
设计流程图
设计思路
为了扛住高并发,我这里在两个地方做了库存扣减,第一个使用redis做预扣库存,第二个是数据库扣除实际库存;
用户提交订单...
2022-05-22 01:22:02 |
Market
-
Hession RPC 远程调用-01-入门例子
Hession
Hession 二进制 Web 服务协议使 Web 服务无需大型框架即可使用,并且无需学习另一种协议字母汤。
因为它是一个二进制协议,所以它非常适合发送二进制数据,而无需通过附件扩展协议。
服务端
基本环境
jdk1.8
pom.xml
spring-boot 2.0.9.RELEASE
hessian 4.0.60
<?xml version="1....
2022-05-10 01:22:02 |
RPC