
区块链
文章平均质量分 58
区块链
JackieDYH
阅技术、码经验、勤总结、乐分享、喜交流。
展开
-
Vue3中接入WalletConnect登录方式-@particle-network/connec-demo
是一个用于连接粒子网络(Particle Network)的JavaScript库。以上是一个简单的使用示例,具体的实现细节和逻辑会根据你的应用程序需求而有所不同。你可以使用npm或者yarn等包管理器进行安装。库的官方文档和示例代码来了解更多信息和实现细节。首先,在你的项目中安装。原创 2024-09-02 09:50:14 · 397 阅读 · 0 评论 -
Metamask插件中-添加网络和切换网络
Dapp中,自动给用户Metamask添加一个网络(比如Heco主网或Heco测试网),程序主动切换用户Metamask的网络为指定网络(比如Heco主网)Metamask新增了一个AddEthereumChainParameter的api,可以自动给用户Metamask添加一个网络,并把当前页面连接到这个网络。执行这个api时,如果用户的Metamask还没有添加参数指定的网络,则Metamask会弹出一个提示框,提示用户当前页面要给Metamask添加一个网络,并显示要添加网络的信息。.........原创 2022-08-08 12:31:05 · 2899 阅读 · 2 评论 -
Merkle树
Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash值的一棵树。Merkle树是一种数据结构,Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash。对于网站中的交易:https://www.blockchain.com/btc/block/000000000001741120135274584b2a0da45b39c8cc78322a14f9004ae766a8e0https://links.jiansh..原创 2023-02-17 22:44:01 · 295 阅读 · 0 评论 -
WIF私钥
公钥一般来说是椭圆曲线上的x,y坐标拼接在一起的。压缩的公钥其实就是x的坐标,因为有了椭圆曲线还有x,顺理成章就可以求出yWIF私钥的生成逻辑如下图version我们这里设置为16进制的80 如果privateKey对应的公钥是被压缩过的,那么privateKey后面要加上16进制的01 区块链中privateKey为32个字节(256位)func generatePrivateKey(hexprivatekey string,compressed bool) []byte{ .原创 2023-03-16 14:52:29 · 936 阅读 · 2 评论 -
数据签名-说明文档
图随机数字K用作临时私钥,进而生成临时公钥(与生成比特币公钥方式相同)。 R代表临时公钥x轴坐标k还是刚刚的临时私钥 dA代表签名私钥(不是刚刚的临时私钥) z是交易数据的hash值—>hash(交易数据) p是素数,椭圆曲线的主要顺序(这一点没有理清楚,待定)==R+S就是签名==package mainimport ( "crypto/ecdsa" "crypto/elliptic" "crypto/rand" "crypto原创 2023-02-27 23:09:50 · 522 阅读 · 0 评论 -
详解以太坊
以太坊原理以太坊通过建立终极的抽象的基础层-内置有图灵完备编程语言的区块链-使得任何人都能够创建合约和去中心化应用,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。图灵完备:能够运行非常复杂的运算,最简单的理解是它支持循环的操作,而比特币的验证是不支持循环的。以太坊虚拟机(EVM)是以太坊中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络、文件系统或者其它进程。甚至智能合约与其它智能合约只有有限的接触。对比比特币原创 2023-03-20 22:43:49 · 2858 阅读 · 10 评论 -
区块链基本原理
区块链的起源创始者介绍姓名:中本聪(英语:SatoshiNakamoto),自称日裔美国人,日本媒体常译为中本哲史,此名是比特币协议及其相关软件Bitcoin-Qt的创造者,但真实身份未知。中本聪于2008年发表了一篇名为《比特币:一种点对点式的电子现金系统》(Bitcoin: A Peer-to-Peer Electronic Cash System)的论文,描述了一种被他称为“比特币”的电子货币及其算法。2009年,他发布了首个比特币软件,并正式启动了比特币金融系统。2009年1月3日原创 2023-03-07 09:00:16 · 4164 阅读 · 2 评论 -
solidity智能合约-知识点
Solidity是一种用于编写智能合约的编程语言,广泛应用于以太坊区块链。智能合约通过Solidity创建,能够实现去中心化、安全且不可篡改的价值转移和记录。Solidity支持多种数据类型,如布尔值、字符串、整型、字节数组等,并提供了丰富的函数类型和操作符。智能合约中的函数可以定义为view、pure、payable等,分别用于读取数据、不修改数据、以及处理以太币转账。Solidity还支持映射(mapping)、结构体(struct)、枚举(enum)等高级数据结构,以及继承、函数重载等面向对象特性。通原创 2025-05-19 09:14:49 · 718 阅读 · 1 评论 -
DApp浏览器交互环境
的全局API,可以:请求连接账户、获取用户连接的链的数据(如交易后的返回值和事件)、以及显示用户对交易的签名状态。注意:由于交易的 nonce 机制,当我们重启了私链后,可能会出现冲突,导致交易阻塞,我们需要在设置-高级设置-重置账户。添加了新的链的元数据后,用户就可以切换到不同的链。的方法获取地址,返回 promise, 只有一个十六进制地址的元素的字符数组,如果用户拒绝,返回。此时,前端也无法接受节点的请求,需要重新建立连接后,重载页面。是只有一个元素的数组或者是空数组,数组的元素是字符串形式的地址。原创 2024-04-22 10:53:32 · 1437 阅读 · 0 评论 -
imToken中使用web3js提供api获取信息
注意:请在服务端运行!!!结构代码<div id="app"> <h5>imToken</h5> <p>当前环境:<span class="env">null</span></p> <button class="Web3Button">Web3js获取信息</button> <h2>Account(账户): <span class="showAccount1"&.原创 2022-02-07 08:46:15 · 1426 阅读 · 1 评论 -
报错Error: Returned values aren‘t valid, did it run Out of Gas?
用web3@1.2.6和solcjs@0.5.0。部署一个简单的获取状态变量的值的合约。获取状态变量值报错原创 2021-06-17 18:34:27 · 14840 阅读 · 11 评论 -
MetaMask遇到了一个错误Try again by closing and reopening the-BUG
BUGMetaMask 遇到了一个错误Try again by reloading the page, or contact support 这里.错误详情信息:Incorrect locale information provided代码:RangeError栈:RangeError: Incorrect locale information provided at new DateTimeFormat (<anonymous>) at r.getTrans...原创 2021-05-28 14:51:17 · 4346 阅读 · 1 评论 -
使用Web3JS的API在页面中进行转账交易-案例
web3.eth.sendTransactionweb3.eth.sendTransaction(transactionObject [, callback])参数: Object - 要发送的交易对象。 from: String - 指定的发送者的地址。如果不指定,使用web3.eth.defaultAccount。 to: String - (可选)交易消息的目标地址,如果是合约创建,则不填. value: Number|String|BigNumb原创 2021-04-02 17:17:40 · 4322 阅读 · 5 评论 -
metamask方法使用获取账户信息
MetaMask文档获取账户信息async function getAccount() { // 授权获取账户 const accounts = await ethereum.request({ method: 'eth_requestAccounts' }); const myAccount = accounts[0]; console.log(myAccount,1); // 返回指定地址账户的余额 const balance = awai原创 2021-04-01 18:21:25 · 3385 阅读 · 1 评论 -
web3js方法获取账户信息和余额
web3js文档web3浏览器检查if (typeof window.ethereum !== 'undefined') { console.log('MetaMask is installed!');}获取账户信息// 引入//<script src="./node_modules/web3/dist/web3.min.js"></script>async function get(){ // 实例化web3 window.web3 =原创 2021-04-01 18:19:14 · 7994 阅读 · 7 评论