Rust
yzpyzp
这个作者很懒,什么都没留下…
展开
-
web3之PromiEvent
https://learnblockchain.cn/docs/web3.js/callbacks-promises-events.htmlhttps://www.npmjs.com/package/web3-core-promievent原创 2021-08-12 20:55:30 · 292 阅读 · 0 评论 -
web3.js的provider
web3是所有ethereum交互模块的总包。web3.setProvider()参数:Object - myProvider: 有效的服务提供者对象。返回值:Booleanweb3.setProvider()方法用来修改指定模块的底层通讯服务提供者。调用:web3.setProvider(myProvider)web3.eth.setProvider(myProvider)web3.shh.setProvider(myProvider)web3.bzz.setProvid原创 2021-08-12 17:25:06 · 3246 阅读 · 0 评论 -
2021-08-12
sendRawTransaction 与 sendSignedTransaction的区别:sendRawTransaction是web3.js的旧版本的方法,新版本的web3.js已经换成了sendSignedTransaction。https://github.com/ethereum/wiki/wiki/JavaScript-APIhttps://web3js.readthedocs.io/en/v1.2.9/web3-eth.html#sendtransactionhttps://web3j原创 2021-08-12 11:50:46 · 318 阅读 · 0 评论 -
Truffle通过本地私钥部署合约
https://www.trufflesuite.com/docs/truffle/getting-started/running-migrationsTruffle Provider 构造及其解释truffle-privatekey-provider:私钥Web3提供程序-源码truffle环境搭建和应用https://github.com/bZxNetwork/truffle-privatekey-provider...原创 2021-08-11 18:08:46 · 1004 阅读 · 1 评论 -
Truffle在ganache-cli部署合约
准备确保安装好了 Truffle Framework 和 Ganache CLI.$ sudo npm install -g truffle$ sudo npm install -g ganache-cli 开始// SPDX-License-Identifier: MITpragma solidity > 0.4.21;contract Storage { mapping (string => string) private _store; funct原创 2021-08-11 17:31:30 · 7900 阅读 · 1 评论 -
Rust之模块系统-文件系统树和模块树
我们需要显式地在Rust中构建模块树——在文件系统树和模块树之间不存在隐式的转换。模块不存在:public_【翻译】关于Rust模块系统的清晰解释原创 2021-08-11 17:02:15 · 253 阅读 · 0 评论 -
nonce值
每一个账户从同一个节点发起交易时,这个nonce值从0开始计数,发送一笔nonce对应加1。当前面的nonce处理完成之后才会处理后面的nonce。注意这里的前提条件是相同的地址在相同的节点发送交易。以下是nonce使用的几条规则:● 当nonce太小(小于之前已经有交易使用的nonce值),交易会被直接拒绝。● 当nonce太大,交易会一直处于队列之中,这也就是导致我们上面描述的问题的原因;● 当发送一个比较大的nonce值,然后补齐开始nonce到那个值之间的nonce,那么交易依旧可以被执行。原创 2021-08-11 15:23:14 · 776 阅读 · 0 评论 -
Rust之智能指针Box<T>
主要内容包括:基础概念:指针,引用,智能指针智能指针Box<T>,Deref和DropBox <T>是一个智能指针,指向在类型为T的堆上分配的数据。Box <T>允许将数据存储在堆而不是栈上。Box <T>是一个拥有的指针。除了将数据存储在堆上之外,Box没有性能开销。当Box离开作用域时,会调用析构函数来销毁所有内部对象并释放内存。使用Box <T>将数据存储在堆上。Box <T>主要用于在堆上存储数据。下面通过一原创 2021-08-11 14:32:35 · 314 阅读 · 0 评论 -
substrate knowledgebase:Mock Runtime Environment
https://substrate.dev/docs/en/knowledgebase/runtime/tests#mock-runtime-environment原创 2021-07-26 20:26:34 · 110 阅读 · 0 评论 -
substrate-how-to-guides:Basic pallet integration
https://substrate.dev/substrate-how-to-guides/docs/basics/basic-pallet-integration原创 2021-07-26 18:24:34 · 147 阅读 · 0 评论 -
Rust : calls in constant functions are limited to constant functions, tuple structs and tuple varian
犹如在pow中使用常量:const N: usize = 3;const N_CELLS: usize = ((2 * N + 1).pow(2)) - N * (N + 1);会报错:error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants --> src/lib.rs:2:24 |2 | const N_CELLS: usize = ((原创 2021-07-19 18:23:11 · 1963 阅读 · 0 评论 -
Rust之type后面的冒号:是什么意思
#[pallet::config] pub trait Config<I: 'static = ()>: frame_system::Config { /// The balance of an account. type Balance: Parameter + Member + AtLeast32BitUnsigned + Codec + Default + Copy + MaybeSerializeDeserialize + Debug; /// Handler f.原创 2021-07-17 22:05:31 · 806 阅读 · 1 评论 -
Rust程序设计语言-泛型、trait 与生命周期
每一个编程语言都有高效处理重复概念的工具。在 Rust 中其工具之一就是 泛型(generics)。泛型是具体类型或其他属性的抽象替代。本章会探索如何使用泛型定义我们自己的类型、函数和方法!首先,我们将回顾一下提取函数以减少代码重复的机制。接下来,我们将使用相同的技术,从两个仅参数类型不同的函数中创建一个泛型函数。我们也会讲到结构体和枚举定义中的泛型。之后,我们讨论如何使用 trait的常见的方法来定义行为。trait 可以与泛型结合来将泛型限制为拥有特定行为的类型,而不是任意类型。最后介绍 生原创 2021-07-17 20:22:44 · 969 阅读 · 1 评论 -
Rust程序设计语言-错误处理
错误处理原创 2021-07-17 16:06:21 · 98 阅读 · 0 评论 -
Rust程序设计语言-常见集合
常见集合原创 2021-07-17 16:05:48 · 131 阅读 · 0 评论 -
Substrate Tutorials:crate a pallet :test-pallet
参考:everythingtoolbar.dll”或它的一个依赖项。_教程编写一个 Substrate 模块原创 2021-07-17 15:39:54 · 194 阅读 · 0 评论 -
Rust之type
可以使用type关键字声明另一类型的别名。比如:type unsigned_64 = u64;然后就可以像使用u64一样使用unsigned_64// 允许以非驼峰的方式起别名,否则起unsigned_64别名时会提示: Type `unsigned_64` should have a camel case name such as `Unsigned64`#![allow(non_camel_case_types)]//为u64起别名type unsigned_64 = u64;原创 2021-07-16 17:01:57 · 2098 阅读 · 0 评论 -
Substrate Tutorials:Add the Contracts Pallet to a runtime
相关内容https://substrate.dev/docs/en/tutorials/add-contracts-pallet/添加一个 合约 Palletoj代码runtime error_在 Substrate 中为你的 runtime 添加合约模块【Substrate入门】在Runtime中添加第一个Pallet【Substrate入门】在Runtime中添加智能合约模块...原创 2021-07-16 11:26:04 · 481 阅读 · 0 评论 -
Substrate Tutorials:Add a Nicks Pallet to Your Runtime
IntroductionSubstrate Node Template 提供了最小的工作运行时,使用它可以快速开始构建自己的自定义blockchain。节点模板包括多个组件,其中包括一个使用FRAME运行时开发框架构建的运行时 。然而,为了保持最小,它不包括来自 Substrate 的核心 FRAME pallets 集里的大多数模块(称为“pallets”)。即Substrate Node Template节点模板只有少数的pallets本指南将向您展示如何添加 Nicks pallet。您可以原创 2021-07-16 11:19:21 · 549 阅读 · 0 评论 -
Rust程序设计语言-使用包、Crate和模块管理不断增长的项目
当你编写大型程序时,组织你的代码显得尤为重要,因为你想在脑海中通晓整个程序,那几乎是不可能完成的。通过对相关功能进行分组和划分不同功能的代码,你可以清楚在哪里可以找到实现了特定功能的代码,以及在哪里可以改变一个功能的工作方式。到目前为止,我们编写的程序都在一个文件的一个模块中。伴随着项目的增长,你可以通过将代码分解为多个模块和多个文件来组织代码。一个包可以包含多个二进制 crate 项和一个可选的 crate 库。伴随着包的增长,你可以将包中的部分代码提取出来,做成独立的 crate,这些 crate 则原创 2021-07-14 14:03:25 · 698 阅读 · 1 评论 -
Rust程序设计语言-枚举和模式匹配
首先,我们会定义并使用一个枚举来展示它是如何连同数据一起编码信息的。接下来,我们会探索一个特别有用的枚举,叫做 Option,它代表一个值要么是某个值要么什么都不是。然后会讲到在 match 表达式中用模式匹配,针对不同的枚举值编写相应要执行的代码。最后会介绍 if let,另一个简洁方便处理代码中枚举的结构。定义枚举让我们看看一个需要诉诸于代码的场景,来考虑为何此时使用枚举更为合适且实用。假设我们要处理 IP 地址。目前被广泛使用的两个主要 IP 标准:IPv4(version four)和 I原创 2021-07-14 12:05:55 · 476 阅读 · 1 评论 -
Rust之unit类型()
unit类型(unit type), 即 ()() is a value of the type () and its purpose is to be useless.Everything in Rust is an expression, and expressions that return “nothing” actually return (). The compiler will give an error if you have a function without a return ty原创 2021-07-13 19:10:27 · 1472 阅读 · 0 评论 -
Rust程序设计语言-使用结构体来组织相关联的数据
和元组一样,结构体的每一部分可以是不同类型。但不同于元组,结构体需要命名各部分数据以便能清楚的表明其值的意义。由于有了这些名字,结构体比元组更灵活:不需要依赖顺序来指定或访问实例中的值。...原创 2021-07-13 18:07:41 · 603 阅读 · 0 评论 -
Rust程序设计语言-所有权(ownership)
所有权(系统)是 Rust 最为与众不同的特性,它让 Rust 无需垃圾回收(garbage collector)即可保障内存安全。因此,理解 Rust 中所有权如何工作是十分重要的。本章,我们将讲到所有权以及相关功能:借用、slice 以及 Rust 如何在内存中布局数据。什么是所有权?Rust 的核心功能(之一)是 所有权(ownership)。虽然该功能很容易解释,但它对语言的其他部分有着深刻的影响。所有运行的程序都必须管理其使用计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时不断地原创 2021-07-13 12:57:31 · 515 阅读 · 0 评论 -
Rust程序设计语言-常见编程概念
第二章中提到过,变量默认是不可改变的(immutable)。变量和可变性当变量不可变时,一旦值被绑定一个名称上,你就不能改变这个值。在尝试改变预设为不可变的值时,产生编译时错误是很重要的,因为这种情况可能导致 bug。如果一部分代码假设一个值永远也不会改变,而另一部分代码改变了这个值,第一部分代码就有可能以不可预料的方式运行。不得不承认这种 bug 的起因难以跟踪,尤其是第二部分代码只是 有时 会改变值。Rust 编译器保证,如果声明一个值不会变,它就真的不会变。这意味着当阅读和编写代码时,不需要追原创 2021-07-12 18:41:49 · 458 阅读 · 0 评论 -
Rust程序设计语言-猜猜看游戏
在 Rust 中,变量默认是不可变的。下面的例子展示了如何在变量名前使用 mut 来使一个变量可变:let foo = 5; // 不可变let mut bar = 5; // 可变Rust 标准库中有很多叫做 Result 的类型:一个通用的 Result 以及在子模块中的特化版本,比如 io::Result。Result 类型是 枚举(enumerations),通常也写作 enums。枚举类型持有固定集合的值,这些值被称为枚举的 成员(variants)。第六章将介绍枚举的更多细节。Re原创 2021-07-12 18:02:18 · 189 阅读 · 0 评论 -
Rust 之 `main` function not found in crate
定义在/bin目录下的.rs文件里面必须要main函数。原创 2021-07-12 15:55:29 · 1200 阅读 · 0 评论 -
Rust基础之包与模块
Rust中的模块:通过文件和目录在文件内部通过mod关键字原创 2021-07-12 10:20:13 · 248 阅读 · 0 评论 -
Rust基础之借用与生命周期
借用:就是使用值,但不获取其所有权。原创 2021-07-11 19:33:45 · 110 阅读 · 0 评论 -
Rust基础之所有权机制
主流语言常见的内存管理方式主要是两种:1.程序员手动分配和释放内存,比如C/C++等2.垃圾回收系统, 比如JAVA,C#,GO等而Rust语言的内存管理方式与上述两种内存管理方式都不同,Rust使用的是所有权机制。所有权系统所有权规则当值的所有者离开作用域以后,这个值所占的内存就会被释放。编译器会自动检查每个所有者的作用域,当所有者离开作用域时,编译器会自动加上释放内存的操作。 所有者离开作用域后就立刻释放,而不是像垃圾回收器那样有延迟的释放内存。在实际写代码的时候要遵循这3条规则。所有原创 2021-07-11 18:45:10 · 400 阅读 · 1 评论 -
RPC、JSON-RPC和HTTP区别
一、RPCRPC是什么RPC(Remote Procedure Call)指的是远程过程调用,简单的说,RPC就是从一台机器上通过参数传递的方式调用另一台机器上的一个函数或方法并得到响应结果。RPC会隐藏底层的通讯细节。RPC是一个请求响应模型,客户端发起请求,服务器返回响应。RPC在使用形式上像调用本地函数一样去调用远程的函数。常见的RPC框架dubbo: 阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring原创 2021-07-09 14:37:35 · 1239 阅读 · 0 评论 -
postman调试rpc接口
使用postman测试RPC接口PostMan如何调用RPC接口 (postman下载)PostMan如何调用RPC接口接口调试之Postman 使用方法详解原创 2021-07-09 09:23:23 · 9611 阅读 · 0 评论 -
Rust基础之运行环境
原创 2021-07-09 09:14:02 · 322 阅读 · 0 评论 -
Rust基础之语言介绍
安全指的是:内存安全,rust有智能指针Rust缺点:学习难度较大,很多概念是别的语言没有的,是新概念。原创 2021-07-08 21:50:19 · 400 阅读 · 0 评论 -
linux mint安装postman
下载地址:https://www.postman.com/downloads/下载后解压,进入解压后的目录:点击Postman就可以打开postman。原创 2021-07-08 19:01:58 · 160 阅读 · 0 评论 -
Rust之package、crate、module
https://doc.rust-lang.org/stable/book/ch07-00-managing-growing-projects-with-packages-crates-and-modules.htmlRust包和crate以及模块原创 2021-07-08 14:14:26 · 328 阅读 · 0 评论 -
Rust之crate
rust的每一个.rs文件就是一个crate吗?https://doc.rust-lang.org/stable/book/ch07-00-managing-growing-projects-with-packages-crates-and-modules.html原创 2021-07-08 14:12:59 · 2297 阅读 · 0 评论 -
Rust之Cargo简介
Rust 中项目构建管理工具 Cargo 简介原创 2021-07-08 11:59:26 · 140 阅读 · 0 评论 -
Rust之println!
fn main() { println!("Hello, world!");}输出 Hello, world! 到终端(控制台)。与java的 println 很像,有一点不同的是 println后面有一个叹号!这在 rust 中叫做 宏(macro)。每行 rust 语句和java类似,以 ; 分号结束。...原创 2021-07-08 11:14:15 · 922 阅读 · 0 评论 -
Rust之cargo
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencieshttps://cargo.budshome.com/getting-started/first-steps.html原创 2021-07-08 10:58:55 · 731 阅读 · 0 评论