xiangjie88
- 浏览: 617647 次
- 性别:
- 来自: 深圳
-
社区版块
- ( 0)
- ( 22)
- ( 48)
存档分类
- 2022-10 ( 1)
- ( 2)
- ( 9)
最新评论
-
:
zjx20 写道digest[]的字节序貌似是反的,直接输出会 ...
-
:
digest[]的字节序貌似是反的,直接输出会有问题
htt ...
-
:
妹子你砸是 搞c的
-
:
...
文章列表
- 博客分类:
1.前置准备,运行一个新项目
mkdir my-project
cd my-project
npm init --yes
npm install --save-dev [email protected] -g
npm install --save-dev @nomiclabs/hardhat-truffle5 @nomiclabs/hardhat-web3 web3
2.启动本地
npx hardhat node
3.设置自动
await network.provider.send("evm_setautomine", [false]);
4.启动区间
await networ ...
- 2022-10-17 14:26
- 浏览 15
- 分类:开源软件
- 博客分类:
fn main() {
//if let
let favorite_color: option<&str> = none;//std::option::option::some("str");
let is_tuesday = false;
let age: result = "34".parse();
if let some(color) = favorite_color {
println!("using your fav ...
- 2022-03-27 17:35
- 浏览 45
- 分类:编程语言
- 博客分类:
use std::sync::{arc,mutex};
use std::thread::spawn;
#[test]
pub fn mutex(){
let m = mutex::new(5);
{
let mut num = m.lock().unwrap();
*num = 6;
}
println!("m:{:?}",m);
let counter = arc::new(mutex::new(0));
let mut handles = vec![];
...
- 2022-03-27 12:14
- 浏览 61
- 分类:编程语言
- 博客分类:
use std::sync::mpsc;
use std::thread;
use std::time::duration;
pub fn f_channel() {
let (tx, rx) = mpsc::channel();
let tx1 = tx.clone();
thread::spawn(move || {
let vec = vec![
"hi",
"tom",
"aaa",
...
- 2022-03-27 11:58
- 浏览 73
- 分类:编程语言
- 博客分类:
box,rc,refcell都是不可变借用,只不过refcell是运行时检查,box和refcell是可变的,rc不可变但同一个数据可以有多个拥有者
box类型具有已知大小并指向在堆上分配的数据。该 rc类型跟踪堆上数据的引用次数,以便数据可以有多个所有者。具有内部可变性的refcell类型为我们提供了一种类型,当我们需要不可变类型但需要更改该类型的内部值时可以使用该类型;它还在运行时而不是在编译时强制执行借用规则
use std::ops::deref;
use std::rc::rc;
use std::cell::refc ...
- 2022-03-26 12:31
- 浏览 59
- 分类:编程语言
- 博客分类:
#[derive(debug)]
struct rectangle {
width: u32,
height: u32,
}
impl rectangle {
fn can_hold(&self, other: &rectangle) -> bool {
self.width > other.width && self.height > other.height
}
}
pub struct guess {
value: i32,
}
impl gu ...
- 2022-03-25 10:18
- 浏览 72
- 分类:编程语言
- 博客分类:
fn longest<'info>(x: &'info str, y: &'info str) -> &'info str {
if x.len() > y.len() {
x
} else {
y
}
}
//传入的和返回的有相同的生命周期,不然调用在{}如果传入的没了,返回的跳出{}还存在就会有问题
// fn longest2<'a>(x: &str, y: &str) -> &'a str {
// let r ...
- 2022-03-24 14:10
- 浏览 50
- 分类:编程语言
- 博客分类:
use std::collections::hashmap;
fn main() {
//hashmap会根据首次存放任意类型的数据
let mut map = hashmap::new();
map.insert(1,2);
for (i,v) in map {
println!("{} {}",i,v);
}
let mut map2 = hashmap::new();
map2.insert(string::from("aaa"),2);
ma ...
- 2022-03-24 11:11
- 浏览 50
- 分类:编程语言
- 博客分类:
npm install web3
let web3 = require('web3');
shorthexstring = web3.utils.asciitohex('i have 100!')
const padded = ethers.utils.hexzeropad(shorthexstring, 32)
- 2022-03-17 14:57
- 浏览 118
- 分类:编程语言
- 博客分类:
1.先验证交易大小,类型,签名,最小gas等
2.尝试把有效交易添加到queue,all,priced队列,当新交易的feecap和feetip都是旧交易的1.1倍以上时就可以replace
3.从queue队列出取出交易并尽可能地将事务移到pending
4.删除那些nonce太低及余额不足的失效事务
5.如果设置了basefee(feecap),使用的是eip1559的dynamicfeetx,则优先比较feetip,谁的小费高谁排前面,但是legacytx的gasprice也算作了feetip,原有的gasprice高排前面的规则依然生效
- 2022-02-28 11:09
- 浏览 123
- 分类:开源软件
- 博客分类:
共识:pos
1.solana生态系统中有多个角色(领导者、验证者、存档者等)。与dpos区块链不同,solana不会在网络参与者之间委派这些角色,而是由solana节点履行网络的所有角色。
2.网络中都有且仅有一个leader。每个验证者节点都具有与leader节点相同的硬件能力,并且能够通过基于pos算法的选举来成为leader.
3.每个验证节点使用同一种算法来选择预期的领导者。当验证节点收到一个新的签名账本条目时,可以肯定某条目是来自预期的领导者。分配给每位领导者的插槽顺序称为leader schedule(领导者安排表),solana以固定的时间间隔(称为插槽)轮换领导者。
4. ...
- 2022-02-24 20:44
- 浏览 100
- 分类:开源软件
- 博客分类:
avalanche:设计了一款基于随机抽样和亚稳态决策的新型共识机制,该共识兼顾了依赖通信传输的经典拜占庭共识协议和依赖工作量证明创造链式结构的中本聪共识协议的优势,同时解决了经典拜占庭共识协议扩展性弱和中本聪共识 ...
- 2022-02-21 20:03
- 浏览 64
- 分类:开源软件
« 上一页 1 …