我没有看到验证对等和非验证对等的定义。有这样的定义很重要,因为很多文献似乎都依赖于这些类型的同龄人
我的主要问题是
将区块链视为一个数据存储,很明显,该数据存储将公开用于更改和读取其存储状态的函数。因此,验证对等方是否是将验证以下事实的实体:X在状态之前,T是应用的事务,X'是结果状态
或者,验证对等方是否也会验证T表示的业务逻辑以及调用T应该存在的访问级别
集中式的类比是使用SQL引擎公开存储状态的RDBMS。可以通过业务逻辑(例如规则引擎)和SQL命令(例如插入、选择等)的组合来更新此存储。
我正在大学里为我的讲座练习智能合约中的一些漏洞
我正在实践的合同是:
contract Company is CompanyInterface {
address public ceo;
...
function setCeo(address newCeo){
ceo = newCeo;
}
...
}
contract MainCompany is CompanyInterface {
address public ceo;
尝试建立一个稳定的DApp网站(只是为了好玩而学习)。能够创建一个简单的DApp网站,但数据仅对我可见。如何创建一个DApp,用户可以在其中查看来自每个人的数据,例如facebook新闻提要。找不到我能做的参考资料。大多数可用的数据都是这样的。你能解释一下“数据只对我可见”是什么意思吗?区块链上的所有数据对每个人都是公开的。(我写了你链接到的示例,该应用程序中显示的数据对任何访问该页面的人都是可见的。)起初我是用来学习的,我注意到我在网站上添加的数据只对我可见,所以我认为它会应用于每个网站,除非
链上智能合约和已安装智能合约的区别是什么?这和地址或节点有关吗?如果是,地址是什么 区别很简单:
链上智能合约
当区块链上发生交易时执行这些操作。它们也存储在区块链的内部
已安装的智能合约
这些智能合约在账本提交之前或网络启动之前执行
你可以在上找到更多信息,你在说什么样的区块链?像hyperledger这样的私有区块链。@ArkadyPrivate像hyperledger这样的私有区块链这是我知道的基本区别。但这些链上智能合约存储在哪里。地址还是节点?如果是地址,那是什么?@Gulshan看一
我对坚固性中的自毁功能表示怀疑。我的合同如下:
pragma solidity ^0.4.25;
contract TestMetamask {
string public name = "Joao";
event EtherReceived();
function changeName(string _name) public {
name = _name;
}
function() public payable {
emit EtherReceived()
我是区块链开发的新手,我需要验证一些BTC已经从地址a发送到地址b。我正在调用区块链api,并浏览接收方地址的交易。让我困惑的是,在某些情况下,输入中有多个地址。那么,我如何才能确保我正在寻找的一个地址发送了所需的金额?此外,关于交易,BTC交易是否可以持有多个“真实”交易?
谢谢在bitcoin.se上询问可能会更好,但每个比特币交易可能都有多个输入和输出。如果您的钱包有3个地址,其中0.5 btc已发送且未使用,然后您将1.25 btc发送到某个地方,则所有这3个0.5 btc未使用的交易输
通过互联网研究和教程,我已经熟悉区块链技术一段时间了,但是,由于区块链经常作为一个商业话题出现,我无法找到一些技术问题的好答案。我希望你们中的一些人能帮助我:
区块链的概念是,所有交易数据都存储在网络的每个节点(如计算机)上。这不是每个参与者都应该存储的巨大且不断增长的数据量吗?(如果答案是某些节点必须保存整个历史,这与分散的想法会形成对比吗?)
比特币非常复杂的哈希过程的目的是什么?据我所知,哈希对于链的不变性是必要的,但为什么它必须如此耗时呢?另一方面,散列通常被认为是矿工的“签名”;这意味
对可靠的智能合约审计/测试服务有何建议?我需要彻底审核我的智能合同(以以太坊solidity编写)是否存在潜在的安全、效率问题。作为一个好的起点,我会将您的构建/测试管道与集成。如果你使用块菌来构建智能合约,你可以很容易地将mythx与之融合。如果您想进行专业审计,您可以与提供此类服务的多家公司联系
我必须在testnet上签署一个原始事务,其十六进制如下所示,我尝试在事务生成部分对所有内容进行编码,它正在正确地广播。
但是我必须分别实现事务和签名部分。
我正在使用bitcore lib现金套餐
const bitcore=require('bitcore-lib-cash')
const txhex=010000000139A7E6578A862A10151BDBE0ED4A833CD615273B0CD0ECDA1616EE8407D7D8040000000000FFFF02410100
我正在尝试使用litecore lib包在litecoin testnet上创建一个事务。
我附上代码片段。
我打印每一行来分析事务是如何构建的。
调用“sign”方法时没有更改
const litecore = require('litecore-lib');
var wif = 'cRkP6k8dDab1PDg2SvS8mbKMSxCSJfDFg6hibkKGmrfaU4xaCi9R';
var privateKey = new litecore.PrivateKey(wif, 'test
如何为加密货币采矿者编程?
喜欢
XMRig
XMR斯塔克
矿工门
等等。您首先需要了解PoW的概念。简单地说,PoW是一个挖掘者——他们创建的块,增加一个随机的“nonce”(使用一次的数字),直到结果哈希满足“难度”要求。难度是一个基于过去2周内两次试块之间的时间计算得出的数字,它会更改为每10分钟进行一次试块(ish)。对于要接受的块,其哈希值必须低于难度值(当然,该块必须有效)。Solo mining软件通过轮询区块模板的coins守护进程(在某些情况下,这包含所有费用最高的交易,在其他
嗨,我是tron的新手,所以我成功地在smartcontract中实现了读取功能,也实现了写入功能,但我面临的问题是如何等待事务完成,以便在tronWeb中显示其结果。我确实知道如何在以太坊0.x和1.x中实现这一点,但在tronWeb中没有运气。经过一些研究,我能够等待交易。我必须在事务中设置shouldPollResponse=true标志,如
var demo = await tokenContract.claimAirdrop().send({
feeLimit: 100000
我在solidity文档中看到了这篇文章,我认为这份合同是独一无二的,由拍卖行执行。所有用户都可以报价。从实现的角度来看,如果用户没有部署web3.js,他如何使用web3.js调用该契约的方法?您不需要部署契约来使用web3.js调用其方法
只有当方法需要所有者权限时,您才能调用其方法,否则,您可以调用智能合约的方法
您还可以使用Etherscan调用契约方法。导航到所选智能合约的合约部分,然后在读取合约和写入合约部分中,您可以调用合约的方法
因此,我希望能够购买/出售代币,但也希望用户能够将eth发送到我的合同钱包,并接收我的代币作为交换。我相信我已经准备好了代码,可以让买家和卖家一起进行交易,但我不认为我已经准备好了代码,可以让某人接收发送给我以太坊的代币。我想这样做,在一开始人们给我发送eth的一些硬币设置在一个基准值
pragma solidity 0.4.22;
contract ERC20Basic {
string public constant name = "Community Token&qu
我已经在Binance智能链上部署了一个契约。我现在想在这个契约中添加时间锁定功能,在一段时间内锁定一些令牌。我知道智能合约是不可变的,因此无法更改已部署的合约。我的问题是:我可以部署一个新的契约,它只具有与我已经部署的契约交互的时间锁定功能,并锁定已经部署的契约的一些令牌吗?简而言之,我想做的是用一个新契约向已经部署的契约添加一个新函数。这可能吗?我认为应该这样做,因为否则就不会有任何方法向已部署的契约中添加新功能,但我找不到任何关于这方面的教程。如果有办法的话,你们能告诉我正确的方向吗
非常
我已经创建了一个私人测试网根据。然后我创建了两个账户,其中一个账户有点像以太。
现在我尝试发送一些乙醚:
tx = eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: amount})
我试了几次,就像你在照片上看到的一样,什么都没发生
我如何解决这个问题
对于那些成功的事务,服务器应同时挖掘。而且成功的交易需要一些时间(5-7)分钟
在比特币的情况下,区块链块与前一块的哈希链接。如何在Hyperledger结构区块链中链接块?以及如何可视化它们?通过检查protobuf定义,您可以找到Hyperledger结构中的块是如何结构化的。其中,块定义为:
message Block {
BlockHeader header = 1;
BlockData data = 2;
BlockMetadata metadata = 3;
}
您将进一步深入到BlockHeader的定义:
您将看到Hyperledg
如果有人能在下面分享,那就太好了
我们对Corda中节点或参与方的数量有限制吗。根据技术研究论文,Hyperledger确实有16个节点的限制。超过16个节点后,PBFT不起作用,因此很难就事务达成一致意见。Corda对事务的参与方数量没有限制,但我怀疑您指的是对集群大小的限制
在这种情况下,这取决于使用的一致性算法。当前的BFT公证实现使用基于PBFT的BFT Smart,并且很可能也不会扩展到16个节点以上——尽管目前还没有严格的限制。这种限制主要取决于算法的类型,在所有平台上都是类似的
然
我试图理解可用的区块链框架,我有两个问题:
有没有允许的区块链平台支持c/c++,我看过Hyperledger和Corda,它们似乎是基于go和java构建的
我的另一个问题是,我是否真的可以看到和研究源代码开源区块链平台?比特币、Hyperledger和Corda中的一部分似乎只发布二进制文件。有许多区块链的实现,如Eris、侧链。。。我建议你学习以太坊
另一方面,它们可能不是基于C/C++构建的,但是Ethereum有一个在C++上开发的客户端 < P> CORDA是在Kotlin编写的,但
我正在学习区块链编程,同时对如何在以太网络中创建代币和众售合同有了很好的了解
但还有一个问题我自己无法回答,也找不到任何来源。关于KYC(了解你的客户)
如果有人将ETH发送到我的众筹合同中,我知道如何返还我自己的硬币作为奖励,但我如何将奖励保留到ico结束?我想发送奖励后,用户只填写了我的KYC网页上的信息
我将非常感谢我能得到的每一个信息/提示。实现这一结果可能有很多不同的方法。这里有一个例子:
您的合同包含两个功能,用户调用的应付功能和站点调用的名为授权的纯管理员功能
当用户在您的站点上完
我需要一些帮助,我想在智能合约中转移eth余额。由于分发已完成且没有令牌,因此eth已堆叠在那里,但仍有人继续将eth发送到smart contract。我们想退还eth,但我们需要先收回资金。请帮助我们!我们对智能合约中的函数调用不太熟悉。下面是代码:
pragma solidity ^0.4.24;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if
我试图找到与比特币块的交易输入和输出相关联的公钥
有人能告诉我这些是在哪里编码的吗
谢谢。简单地说,一般来说你不能
根据签名模式的不同,您所能得到的只是该公钥的散列,或者更糟糕的是,赎回脚本的散列
更具体地说,在某些情况下,您可以获得一些公钥。
这是您可以获得的部分列表:
Pay to pubkey散列脚本(P2PKH):您可以从scriptSig获取输入BTC地址的公钥
Pay to pubkey(P2PK):您从scriptPubKey获取输出BTC地址的公钥
付费脚本散列脚本(P2SH):
我对定额编程非常陌生。我已经在以太坊与solidity签订了一些智能合约,并用块菌、React和Metamask制作了一些DAPP
现在,我完成了以下定额教程:
在我开始解决我的问题之前,我告诉你我正在尝试做什么:
现在我们学校有一个数据库,老师可以保存学生的分数,学生可以登录并查看他们的分数。我正在尝试制作一个原型,在这个原型中,这些数据存储在一个私有区块链上,比如quorum
所以我已经为原型做了一个react前端,我希望老师可以登录,为学生保存分数,然后学生可以登录并查看他们的分数。这意味
Waves智能合约的地址是否类似于以太坊one的“0xef3fbc3e228dbdc523ce5e58530874005553eb2e”?否没有类似于以太坊的数字,因为Waves中的智能合约有附加到帐户的地址。更准确地说,Waves中有智能帐户,它们有地址,和通常的Waves地址一样,但你不能按地址给他们打电话。我认为您可以更好地了解智能账户和资产如何从
我使用命令“tendermintinit”和“tendermintnode”启动tendermint。但它显示了一条错误消息,如下所示:
tendermint node
I[04-06|20:44:11.141] Starting multiAppConn module=proxy impl=multiAppConn
I[04-06|20:44:11.141] Starting socketClient
我想将单个参数作为数组传递到函数调用中:
contract MyToken is StandaloneERC20 {
function initialize(
address owner,
address minter,
address[] memory pausers
) public initializer {
address[] memory minters = [minter];
Sta
在为投票区块链创建solidity类和ethers.js接口时,我得到了solidity意外响应
这里是solidity函数
function addVoter(string memory _email) public returns (string memory) {
return string('test');
string memory key = random(_email);
require(emailExists[key] == false);
emailExist
我正在使用Chainlink oracles制作一个智能合约,我遇到了这个问题。我有一个我想进行的API调用,但我不确定应该调用哪些节点/oracle。他们给出了一些示例节点,但是如果我正确理解了技术,我应该能够调用自己的节点。我在哪里可以找到这些信息?我知道它需要返回字节32
Oracle = // TODO
JOB = // TODO
function requestJoke() public
{
Chainlink.Request memory req = buildCha
我正在使用Web3.py,我遇到了一些奇怪的事情
对于以下代码(使用Pancake Router V2):
从web3导入web3
从web3.0中间件导入geth_poa_中间件
web3=web3(web3.HTTPProvider('https://bsc-dataseed1.binance.org:443'))
web3.middleware\u onion.inject(geth\u poa\u middleware,layer=0)
ABI={“输入”:[{“内部类型”:“uint2
我尝试运行hyperledger结构教程中的fabcar示例
当我运行./startFabric.sh时,我得到了错误:
//Join peer0.org1.example.com to the channel.
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1
在本地网络上部署应用程序时,我在使用0.16.0版本的composer时遇到了一些问题。请帮我解决这个问题
以下步骤:
起始结构:./startFabric.sh
创建作曲家配置文件:./createComposer Profile.sh
创建对等管理员卡:./createPeerAdminCard.sh
networkdeployment:composer Network deploy-a destronable-Network.bna-a admin-cPeerAdmin@hlfv1-S管理
我有一个方法名为getValues()的协定。我从Dapp调用的协定方法是'contractCAt.getValues.call(function(error,result){…}',这可以很好地使用'contractCAt.getValues(function(error,result){…}'这种语法也很好。我没有发现调用合同方法的两种方法之间有任何区别。所以有人能帮我介绍一下这些语法。请参阅:
contractCAt.getValues.call()在本地运行,不会改变区块链上合同的状态
如何转换此代码(javascript代码)
转化为坚固性代码,它会起作用吗
function pmt(rate_per_period, number_of_payments, present_value, future_value){
if(rate_per_period != 0.0){
// Interest rate exists
var q = Math.pow(1 + rate_per_period, number_of_payments);
return (r
我正在尝试运行我的deploy.js文件,该文件包含以下代码:
const HDWalletProvider = require("truffle-hdwallet-provider");
const Web3 = require("web3");
const compiledFactory = require('./build/CampaignFactory.json');
//const web3 = new Web3(provider);
const provider = new HDW
我是以太坊区块链的新手,我正在使用我的私有区块链上的块菌来部署和使用智能合约
我完全遵循了这个指南
但是每次我调用getBalance()函数
-> truffle(develop)> let balance = await instance.getBalance(accounts[0])
-> truffle(develop)> balance.toNumber()
我收到错误信息:
返回的值无效,是否汽油用完了
所以我添加了一个简单的智能合约getNu
这是我的合同:
pragma solidity ^0.4.18;
contract Signup {
string fStudentId;
string fLocation;
function setInfo(string _fStudentId, string _fLocation) public {
fStudentId = _fStudentId;
fLocation = _fLocation;
}
function getIn
标签: Blockchain
go-ethereumgethdecentralized-applications
我想我把geth安装得很好,但指令“puppeth”不起作用。我听说在安装geth的同时安装了puppeth。我怎样才能解决这个问题?非常感谢。您是如何安装geth的?你是用辅助工具安装的吗?
[eunsungahn@eunsungui-MacBookPro Blockchain % geth version
Geth
Version: 1.10.1-stable
Git Commit: c2d2f4ed8f232bb11663a1b01a2e578aa22f24bd
Git Commit Da
我已经在本地运行了这个示例。我看到示例从下载了golang链码。链码存储在硬盘上的/marbles/node_modules/ibm blockchain js/temp/unzip。
你能解释一下golang chaincode是如何在nodejs代码中执行的吗 我没有详细介绍Marbles应用程序,但一般来说,nodejs代码只是验证程序网络的一个客户端,而验证程序正在以与基于nodejs的客户端完全解耦的方式处理基于golang的链码。在此过程中,验证程序下载/获取链码,并在隔离容器中本地
随着交易不断涌入,每个对等方的磁盘空间必然会被填满,因为每个对等方都需要一份区块链的完整副本。是否有一种方法可以水平扩展每个对等机的磁盘空间?与其垂直扩展它(获得一个更大的磁盘)?如果我理解正确的话,您的意思是让多个“本地”对等点作为一个“逻辑对等点”一起工作,并在它们之间分配“逻辑对等点”分类帐状态的存储和管理(例如,通过存储状态上的某些分区策略;对于区块链,可能基于链码分离?)
据我所知,这并不存在,而且很可能在现阶段甚至没有计划
1.)区块链的大小由许多因素决定——它不必是比特币大小!(顺
在Windows上,在Vagrant内部,我试图在/opt/gopath/src/github.com/hyperledger/fabric中运行make peer
我得到以下错误:
而不是发出命令:
make peer
试试这些:
docker pull hyperledger/fabric-peer:latest
docker pull hyperledger/fabric-membersrvc:latest
要从DockerHub提取Hyperledger fabric项目发布的最新
我在区块链的神奇世界中迈出了第一步。这项技术有很多我感兴趣了解的非常有趣的方面
简言之,区块链代表部署在对等网络上的分布式分散数据库。节点具有同等的特权,并且具有同等的参与能力:对于每个节点,都提供了数据集的完整副本。这种设计保证了拜占庭式的高度容错性,并且可以通过适当的加密和一致性算法实现数据完整性
我现在正在看一个基于HyLeaGeffFrand的BINKBASE实现,一个由Linux基金会托管的BuffClinux框架实现。
特别是,我完成了一个名为Hyperledger Fabric B
我正在编写一个用例。要求是我需要创建一个订单。订单有一些客户参数。订单可以修改多次。最初,我想在以太坊中实现它。因此,我想从UI中捕获客户详细信息,并将其存储在智能合约中。然而,问题是一旦部署了契约,我就无法更改它,因为它是不可变的。这个缺点使我无法使用以太坊。考虑Corda,我是否可以将客户数据存储为单个记录,并对其进行修改,以便将修改存储在我们可以查询的分类账上。例如,我想存储客户ID、客户名称、客户采购订单号、订单类型和订单状态
在Corda数据模型中我将如何做到这一点?
该数据是否可以根
我发现有很多分散的数据存储,但我对这些服务有点困惑。我无法确定哪种服务在哪种情况下最好?如果有人知道任何与这些相关的例子,请给出。
我发现了两个例子:
IPFS由DAPP(如)使用
Swarm由以太坊项目在的帮助下使用
对不起,如果我问了一些愚蠢的问题。我是it的初学者,我刚刚开始探索区块链的东西
谢谢IPFS是分布式文件系统的协议。以太坊使用IPFS作为其核心模块。steemit和dtube是IPFS实现的示例。在开源之后,许多人开始使用不同的IPFS应用程序
我是这个领域的新手,有几个问题我真的很期待得到答案
IPFS是分布式文件系统还是分散式文件系统?这些选项中的哪一个通常更适合文件系统
ipfs网络上是否有所有哈希的记录?我的请求如何通过网络传播
区块链如何适应IPF?它已经实施了吗
如果我们成为一个行星际物种,IPFS可能是我们用来相互交流的协议。这是一个可以升级整个互联网的新协议
HTTP协议是互联网上最流行的协议。您知道如何访问网站,并且在URL栏的开头显示HTTP。这是因为您的web浏览器使用HTTP协议检索页面,该协议由Tim Bern
我正在尝试运行一个nodejs脚本,就是这个脚本,我遇到了几个问题,因为我收到了一个无效的发送方错误。以下是脚本:
const IdentityManager = artifacts.require("AlastriaIdentityManager");
const fs = require("fs");
const path = require("path");
const ethers = require("ethers
我想知道,是否存在一个通用的api,我把钱包地址,它返回这个钱包的余额,或者如果每个加密货币提供了一个api来做这件事?还是不可能?据我所知,一个钱包的余额是公开的,对吗
谢谢 对于以太坊,调用API
没有通用的解决方案,因为每个区块链都使用自己不兼容的钱包技术。明白了。你知道最流行的加密货币是否有这个api吗?比特币、Tezos、Monero等等?!是的,所有区块链都有查询钱包余额的API。对于每个区块链,您需要弄清楚如何进行。
我最近一直在研究这个话题,大多数资源都说不可能在链上生成随机数。然而,我遇到一篇帖子说,这个函数可以生成一个不可预测的数字。有没有办法预测这个函数
function rand() public view returns(uint256) {
uint256 seed = uint256(keccak256(abi.encodePacked(
block.timestamp + block.difficulty +
((uint256(keccak256(a
大家好!
我想从Binance API中获得BNB的价格。
我可以从上面的链接获得烛台数据。
相同的数据是否可靠?
请帮助我。Solidity无法单独查询链外资源。但您可以使用oracle将数据交付给您的合同
广泛使用的oracle服务是。您的合同查询其合同,使用链接支付查询费用,其中一个Chanlink提供程序使用所需数据调用(预定义)回调函数
或者,您可以自己构建一个简单的oracle服务。您的链外应用程序侦听特定事务(以预定义格式从预定义地址到预定义地址(&T))。发送此特定交易时,链外应
据我所知,区块大小限制越小,随着用户竞争区块中包含的交易特权,交易费用可能越高
但在达到限额之前,我认为不需要竞争,因为所有交易都符合区块要求,或者我遗漏了什么?你理解得对。
高交易费用的动机是迅速确认交易。如果Mempool中的交易数量较低(因此没有竞争),矿商也会接受费用非常低的交易。不利的一面是,交易将需要更长的时间才能包含在区块中
即使交易费用为零的交易也可以在边缘案例中有效。看
比特币核心的最新版本要求最低交易费()。如果交易费用低于此值,
没有转播
我正在玩indy sdk,在步骤3()的演练演示中,Steward的种子值设置为“000000000000000000000000 Steward1”
如果我更改了它(或将其留空),我将得到一个错误。此外,在/tmp/indy/poo1.txn中,没有关于此特定值的信息
我的问题是,我们如何知道这是正确的值,以及如何获得它?为什么它不起作用
000000000000000000000000 Steward1是种子,它(给定默认密钥派生方法)生成DIDth7mptarzvrynpiads81y。您
1 2 3 4 5 6 ...
下一页 最后一页 共 30 页