跨链技术践行者
码龄13年
  • 12,295,310
    被访问
  • 1,105
    原创
  • 4,984
    排名
  • 25,278
    粉丝
关注
提问 私信

个人简介:区块链研究员

  • 加入CSDN时间: 2009-03-10
博客简介:

跨链技术践行者

博客描述:
爱好生活和大自然,向往无头绪的研究
查看详细资料
  • 7
    领奖
    总分 4,555 当月 144
个人成就
  • 博客专家认证
  • 获得4,793次点赞
  • 内容获得516次评论
  • 获得4,199次收藏
创作历程
  • 30篇
    2022年
  • 227篇
    2021年
  • 54篇
    2020年
  • 1127篇
    2019年
  • 1篇
    2018年
成就勋章
TA的专栏
  • 以太坊
    165篇
  • rust
    62篇
  • 密码学
    90篇
  • 互联网与区块链
    206篇
  • 虚拟机
    32篇
  • P2P网络
    19篇
  • 共识算法
    51篇
  • 面试
    33篇
兴趣领域 设置
  • 数据结构与算法
    排序算法推荐算法
  • 人工智能
    opencvcaffetensorflowmxnetpytorchnlpscikit-learn聚类集成学习迁移学习分类回归
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

EOS合约开发集中博彩游戏合约设计_bedrock_stable

集中博彩游戏合约设计一、功能接口1.质押deposit由用户发起,用户将个人账户中token质押给平台,从而可以进入平台去参与平台活动。2.赎回withdraw由用户发起,在用户结束平台活动需要离开时,发起赎回曾质押给平台的token到个人账户。3.开启一期下注openbet由平台发起,平台启动一期下注,玩家可以参与下注。4.结束一期下注 closurebet由平台发起,平台关闭一期下注,所以玩家的下注被锁定。5.下注offerbet由用户发起,用户参与...
转载
发布博客 2022.04.07 ·
127 阅读 ·
0 点赞 ·
0 评论

如何在生产环境排查 Rust 内存占用过高问题

内存安全的 Rust,虽然基本不会出现内存泄漏,但如何合理分配内存,是每个复杂应用都要面临的问题。往往随着业务的不同,相同的代码可能会产生不同的内存占用。因此,有不小的概率会出现内存使用过多、内存逐渐增长不释放的问题。本文我想分享一下,我们在实践过程中遇到的关于内存占用过高的问题。对于这些内存问题,在本文中会做出简单的分类,以及提供我们在生产环境下进行排查定位的方法给大家参考。本文最先发表于 RustMagazine 中文月刊(蚂蚁集团 | 如何在生产环境排查 Rust 内存占用过高问题 -
转载
发布博客 2022.04.02 ·
153 阅读 ·
0 点赞 ·
0 评论

TS开发环境准备

本文目录:1.TS介绍 2.TS的编译 3.开发环境加入代码检查工具eslint和prettier 4.开发环境配置文件1.TS介绍TypeScript 是一门为开发大型 JavaScript 应用而设计的语言。TypeScript 在 JavaScript 的基础上增加了类、模块、接口、泛型和静态类型(可选)等常见的概念。它是 JavaScript 的超集:所有 JavaScript 代码都是有效的 TypeScript 代码,因此任何 JavaScript 项目都可以无缝引入 TypeS
转载
发布博客 2022.03.28 ·
148 阅读 ·
1 点赞 ·
0 评论

nohup 详解

阅读目录nohup 案例 nohup和&的区别 参考链接正文回到顶部nohupnohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。nohup 是 no hang up 的缩写,就是不挂断的意思。nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进
转载
发布博客 2022.03.28 ·
276 阅读 ·
0 点赞 ·
0 评论

Git版本回退的最佳方式

使用git开发的过程中,存在误提交的时候怎么办呢?不用慌张,强大的git提供了两种版本回退的方式,可以让你恢复提交之前的内容:方式一:reset(不推荐)通过reset的方式,把head指针指向之前的某次提交,reset之后,后面的版本就找不到了操作步骤如下:1、在gitlab上找到要恢复的版本号,如:139dcfaa558e3276b30b6b2e5cbbb9c00bbdca962、在客户端执行如下命令(执行前,先将本地代码切换到对应分支):gitreset--har...
转载
发布博客 2022.03.26 ·
149 阅读 ·
0 点赞 ·
0 评论

Rust-线程:使用Sync和Send trait的可扩展并发

Rust的并发模型中一个有趣的方面是:语言本身对并发知之甚少。我们之前讨论的几乎所有内容,都属于标准库,而不是语言本身的内容。由于不需要语言提供并发相关的基础设施,并发方案不受标准库或语言所限:我们可以编写自已的或使用别人编写的并发功能。然而有两个并发概念是内嵌于语言中的:std::marker 中的 Sync 和 Send trait。通过Send允许在线程间转移所有权Send标记trait表明类型的所有权可以在线程间传递。几乎所有的Rust类型都是Send的,不过有一些例外,包括Rc<
转载
发布博客 2022.03.25 ·
96 阅读 ·
0 点赞 ·
0 评论

EOS 获取RAM实时价格

命令如下cleos -u https://nodes.get-scatter.com:443 get table eosio eosio rammarket获取的结果为{ "rows": [{ "supply": "10000000000.0000 RAMCORE", "base": { "balance": "12341975994 RAM", "weight": "0.50000000000000000" },
转载
发布博客 2022.03.24 ·
89 阅读 ·
1 点赞 ·
1 评论

解读EOSIO RAM价格大幅波动背后的Bancor算法

概要EOSIO 的 RAM 从主网启动到现在, 经过了大幅的价格波动, 其背后的 Bancor 算法定价机制也引起了广泛关注。本文参考了 Bancor 白皮书,结合 EOSIO 的的代码, 分析了 Bancor算法和在 EOSIO 中的具体实现代码, 帮助开发者更好地理解 Bancor 算法原理。什么是Bancor 协议Bancor 协议通过智能合约为加密货币提供持续的流动性,每个smart token 可以有1个或多个连接到其他token的连接器, 允许用户通过合约买卖连接的其他token,
转载
发布博客 2022.03.19 ·
101 阅读 ·
0 点赞 ·
0 评论

Eos如何删除钱包

在使用Eos的keosd钱包软件时,如果要删除EOS中指定名称的钱包,最简单的办法是 直接删除钱包文件,不过在删除钱包之前,需要先停止钱包软件的运行。学习EOS应用开发要选这个:【EOS智能合约与DApp开发教程】, 不仅内容很系统化,而且有助教在线答疑!EOS删除钱包之前,首先使用kill或pkill命令结束keosd进程的运行:~$ pkill keosd可以先使用ls命令查看数据目录的内容:钱包文件保存在keosd的数据目录中,默认是~/eosio-wallet。例如,对于 默.
转载
发布博客 2022.03.19 ·
83 阅读 ·
0 点赞 ·
0 评论

EOS测试插件:txn_test_gen_plugin.cpp

txn_test_gen_plugin 插件这个插件是官方开发用来测试块打包交易量的,这种方式由于是直接系统内部调用来模拟transaction,没有中间通讯的损耗,因此效率是非常高的,官方称通过这个插件测试到了8000的tps结果,而就我的测试结果来讲,没有这么恐怖,但也能到2000了,熟不知,其他的测试手段,例如cleos,eosjs可能只有百级的量。下面,我们一同来研究一下这个插件是如何实现以上功能的,过程中,我们也会思考EOS插件的架构体系,以及实现方法。通过本文的学习,如果有好的想法,我们也可
转载
发布博客 2022.03.17 ·
100 阅读 ·
1 点赞 ·
1 评论

EOS私有链搭建

参考文章eos私有链搭建 - 简书源码下载git clone https://github.com/EOSIO/eos.git --recursive编译源码cd eos./eosio_install.sh./eosio_build.sh如果内存低于7G,需要修改配置vim scripts/eosio_build_ubuntu.shif [ "${MEM_MEG}" -lt 7000 ]; then 如果你的物理内存是4G ,可以把7000改成3
转载
发布博客 2022.03.16 ·
150 阅读 ·
0 点赞 ·
0 评论

EOS智能合约开发-智能合约编写

开发合约前,我们先选择下将要用的编辑工具我常用的有 clion 和vscode,电脑os为mac,不过其他系统差别不大,如果你习惯用于Windows,那建议选择Windows Subsystem for Linux,不建议用其他三方封装的工具,以免更新不及时,或者不兼容,导致生产上出问题.下面我们讲用以vscode 做演示.配置智能合约项目先用vscode打开eosio.cdt项目代码目录,按提示安装相应的扩展插件.一般只需要安装个c/c++等vscode加载索引完,会根据eosio.c..
转载
发布博客 2022.03.16 ·
123 阅读 ·
0 点赞 ·
0 评论

EOS智能合约开发-开发环境搭建

我们先尽量简单直白的说下什么是EOS链,资源,智能合约,以及之间的关系. EOS链 我们可以把EOS链想成一个由多台服务器组成的一个计算机云集群{无意突出此链的中心化}.每台服务器(节点)上都部署着一个EOS节点程序,各个节点彼此链接.这个计算机集群,根据投票排名前21名的节点,可以参与计算任务(出块),并且计算后会有相应的奖励(挖矿). 资源:RAM,CPU,NET 我们把EOS链想成云服务器集群,我们购买的EOS账号就相当于在云服务的服务商那购买了个账号,然后给账号购买使用的资源:存
转载
发布博客 2022.03.16 ·
120 阅读 ·
0 点赞 ·
1 评论

JNI/NDK开发指南(十一)——JNI异常处理

异常简介异常,显而意见就是程序在运行期间没有按照正常的程序逻辑执行,在执行过程当中出现了某种错误,导致程序崩溃。在Java中异常分为运行时异常(RuntimeException)和编译时异常,在程序中有可能运行期间发生异常的逻辑我们会用try…catch…来处理,如果没有处理的话,在运行期间发生异常就会导致程序奔溃。而编译时异常是在编译期间就必须处理的。本章主要介绍运行时异常。示例1:// 运行时异常public static void exceptionCallback() { int
转载
发布博客 2022.01.14 ·
127 阅读 ·
0 点赞 ·
0 评论

Android JNI局部引用表溢出:local reference table overflow (max=512)

在《JNI/NDK开发指南(十)——JNI局部引用、全局引用和弱全局引用》这篇文章中详细介绍了在JNI中三种引用的使用方式,区别、应用场景和开发注意事项。由于都是理论,看完之后可能印象不够深刻,由其是在开发当中容易出错的地方。所以这篇文章用一个例子说明引用使用不当会造成的问题,以引起大家对这个知识点的重视。首先创建一个Android工程,在主界面放一个文本框和一个按钮,文本框用于接收创建局部引用的数量N,点击按钮后会获取文本框中的数量,然后调用native方法在本地代码中创建一个长度为N的字符串数组,再
转载
发布博客 2022.01.14 ·
124 阅读 ·
0 点赞 ·
0 评论

JNI/NDK开发指南(十)——JNI局部引用、全局引用和弱全局引用

这篇文章比较偏理论,详细介绍了在编写本地代码时三种引用的使用场景和注意事项。可能看起来有点枯燥,但引用是在JNI中最容易出错的一个点,如果使用不当,容易使程序造成内存溢出,程序崩溃等现象。所以讲得比较细,有些地方看起来可能比较啰嗦,还请轻啪!《Android JNI局部引用表溢出:local reference table overflow (max=512)》这篇文章是一个JNI引用使用不当造成引用表溢出,最终导致程序崩溃的例子。建议看完这篇文章之后,再去看。做Java的朋友都知道,在编码的过程当中,
转载
发布博客 2022.01.14 ·
130 阅读 ·
0 点赞 ·
0 评论

JNI/NDK开发指南(九)——JNI调用性能测试及优化

在前面几章我们学习到了,在Java中声明一个native方法,然后生成本地接口的函数原型声明,再用C/C++实现这些函数,并生成对应平台的动态共享库放到Java程序的类路径下,最后在Java程序中调用声明的native方法就间接的调用到了C/C++编写的函数了,在C/C++中写的程序可以避开JVM的内存开销过大的限制、处理高性能的计算、调用系统服务等功能。同时也学习到了在本地代码中通过JNI提供的接口,调用Java程序中的任意方法和对象的属性。这是JNI提供的一些优势。但做过Java的童鞋应该都明白,Jav
转载
发布博客 2022.01.14 ·
122 阅读 ·
0 点赞 ·
0 评论

JNI/NDK开发指南(八)——调用构造方法和父类实例方法

在第6章我们学习到了在Native层如何调用Java静态方法和实例方法,其中调用实例方法的示例代码中也提到了调用构造函数来实始化一个对象,但没有详细介绍,一带而过了。还没有阅读过的同学请移步《JNI/NDK开发指南(六)——C/C++访问Java实例方法和静态方法》阅读。这章详细来介绍下初始一个对象的两种方式,以及如何调用子类对象重写的父类实例方法。我们先回过一下,在Java中实例化一个对象和调用父类实例方法的流程。先看一段代码:package com.study.jnilearn;public
转载
发布博客 2022.01.14 ·
94 阅读 ·
0 点赞 ·
0 评论

JNI/NDK开发指南(七)——C/C++访问Java实例变量和静态变量

在上一章中我们学习到了如何在本地代码中访问任意Java类中的静态方法和实例方法,本章我们也通过一个示例来学习Java中的实例变量和静态变量,在本地代码中如何来访问和修改。静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过【类名.变量名】来访问。实例变量也称为成员变量(属性),每个实例都拥有一份实例变量数据的拷贝,它们之间修改后的数据互不影响。下面看一个例子:package com.study.jnilearn;/** * C/C++访问类的实例变量和静态变量 * @au
转载
发布博客 2022.01.14 ·
123 阅读 ·
0 点赞 ·
0 评论

JNI/NDK开发指南(六)——C/C++访问Java实例方法和静态方法

通过前面5章的学习,我们知道了如何通过JNI函数来访问JVM中的基本数据类型、字符串和数组这些数据类型。下一步我们来学习本地代码如何与JVM中任意对象的属性和方法进行交互。比如本地代码调用Java层某个对象的方法或属性,也就是通常我们所说的来自C/C++层本地函数的callback(回调)。这个知识点分2篇文章分别介绍,本篇先介绍方法回调,在第七章中介绍本地代码访问Java的属性。在这之前,先回顾一下在Java中调用一个方法时在JVM中的实现原理,有助于下面讲解本地代码调用Java方法实现的机制。写过J
转载
发布博客 2022.01.14 ·
119 阅读 ·
0 点赞 ·
0 评论
加载更多