我正在以太坊区块链上试验智能合约。假设我有一个合同,类似SimpleStorage.sol found,它有一个任何人都可以访问的存储状态。正如链接所描述的
任何人都可以用不同的值再次调用set并覆盖您的号码
这将导致问题,而将该功能的可访问性限制到特定帐户的解决方案在我的用例中是不合适的。在我的合同中,我希望每个帐户设置的数据稍后可以由不同的预定帐户访问(想想这样一种关系,其中人员a->B所以B专门使用a的数据,而x->y专门使用x的数据。y可以使用a的数据,不存在重叠)。据我所知,有两种解决
可以使用以下命令在Hyperledger中启动验证对等方:
docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:2375 -e CORE_PEER_ID=vp1 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_DISCOVERY_ROOTNODE=172.17.0.2:7051 hyperledger/fabric-peer peer node start
启动非验证对等机的命令是
我正在开始以太坊的Dapps开发,我正在尝试安装AlethZero我正在使用windows 7,但我在尝试执行它时出错:缺少MSVCR120.dll
有什么解决办法吗??
我该怎么办?? < P> AlthEn0已经被禁止了一年多,C++ Ethunm项目已经死亡。您应该获得或:
> AlthEn0被禁止超过一年,C++ Ethunm项目死亡。您应该获得或:
另见
添加新的订购者如何下载分类账,因为订购节点之间没有连接,而且kafka只保留消息7天
另外,如果我关闭一个orderer节点超过7天,并且如果我再次打开它,那么它将无法在kafka分区中找到这7天内发生的交易,因此它将如何同步和更新其本地分类账。在1.0中,kafka代理将设置为log.retention.ms=-1(来源:,步骤4e)
这将禁用基于时间的保留,并防止段过期。这意味着:
分区承载通道的整个事务历史记录
可以在任何时间点添加新的orderer服务节点(OSN),并使用Kafka代理
如果有人有Hyperledger Fabric Node SDK示例应用程序/示例web应用程序的链接,请发布。据说他们有样例应用程序和示例Web应用程序,但是URL是空的 ,在存储库中很少有例子,您可能想考虑一下余额转移示例。它提供了基于NodeJS SDK开发的应用程序的良好示例,涵盖了主要部分。在balance transfer示例中,apps目录中的网络配置aws.json在本地读取管理员密钥、证书和ca证书。这是否意味着如果我想为客户端设置SDK,必须在客户端节点手动复制这些数据?不确
标签: Blockchain
solidityget-headersblockchain.info-api
尊敬的所有区块链专家:
我使用Geth创建了一个本地节点,这是启动命令
geth--testnet--rpc--rpcaddr“localhost”-rpcport“8545”--rpcapi“web3,eth,net,personal”--rpccorsdomain“*”--datadir./data”--identity“localnode”--fast
当本地节点启动并运行时。我立即创建了两个个人帐户,并将其存储到Keystore文件夹中
然后,我通过元掩码将以太从我的Testnet帐
以下docker compose.yml用于启动以太坊geth节点,该节点需要连接到引导节点才能访问专用以太坊网络
version: '2'
geth:
image: ethereum/client-go:latest
volumes:
- ./node:/root/.ethereum
- ./files/genesis.json:/root/genesis.json:ro
ports:
- "30303:303
我想在我的机器上运行一个Elrond验证程序节点,但我不知道怎么做,也不知道从哪里开始。你能帮我吗?你可以在这里查看文档:
您可以找到Linux和MacOs(不支持Windows操作系统)所需的所有步骤(解释得非常好)
但主要步骤是:
安装并配置Go
克隆存储库
构建二进制文件
创建节点的标识
复制凭据并启动节点
首先,感谢所有能帮助我的人
我从事比特币研究,并使用blockchain.com API检索有关比特币交易的一些信息。
例如,如果我提取地址1ADSb1ZZ9k3NsDf3JTQCQ4mb8bthiAN6NJ的事务,我会得到四条记录,其中一条是
交易
我的问题是,如何从返回的字段中准确知道地址1ADSb1ZZ9k3NsDf3JTQCQ4mb8bthiAN6NJ支付给输出端的哪个地址?
返回结果中的字段(如n、tx_索引等)的含义是什么。
原始数据可以通过网站访问
因此,简言之,我想更多地了解字段
标签: Blockchain
hyperledger-indydecentralized-identitydecentralized-identifiersindy-node
我已经在我的系统中安装了indy sdk,并启动了账本网络(它正在运行)。
之后,我设置了ariescloudagent,并使用acapy命令运行代理(作为管理员)
现在,在这个代理的帮助下,我已经在分类账上发布了架构,但是当我试图在分类账上发送凭证定义时。。它给了我一个错误:-400:tails\u server\u base\u url未配置
有人能解释它是什么以及如何解决吗?此错误是因为您的凭证的support\u revocation flag设置为true
如果您的凭证不需要吊销支持,
在我的Clarity智能合约中,我试图将一个字符串(“Hello”)附加到另一个字符串(“到Clarity语言”)。两个字符串的类型均为string-utf8
部署下面的协定失败,出现错误:需要类型为\'(string-utf8 100)\'的表达式,找到\'(string-utf8 120)\'
如何进行此操作?concat不会优化结果字符串。新字符串的类型为string-utf8,长度为120,将变量类型的长度添加到另一个字符串的长度中(100+20)
您必须将concat调用包装为max
例如-具有命名索引或哈希的数组。类似PHP代码的东西
$array = array(
"foo" => "some foo value",
"bar" => "some bar value",);
感谢Solidity支持一种称为映射的类型:
contract MappingExample {
mapping(address => uint) public balances;
function update(uint newBalance) {
我正在尝试fabric sdk节点v1.0.0-alpha e2e测试中的一些代码。我有以下网络配置:
1 CA
1订购方
2个属于通道“mychannel”的对等方
简言之,我试图完成以下几点
创建一个频道
将peer0、peer1连接到通道
安装、实例化链码
发送调用和查询事务
在实例化操作之后,我可以在为peer0和peer1启动的chaincode容器中看到以下日志条目
安装+实例化后两个链码日志的内容
但当我发送调用时,对等方在peer1的日志中给出以下错误:
削皮原木
调用尝试后
我已经部署了Hyperledger结构演示中的示例。当我运行此命令时:
./byfn.sh -m up
它执行时没有错误。当码头工人还在运行时,我试着运行
peer query -C mychannel -n mycc -c {"Args":["query","a"]}
我收到一个错误:
“未能反序列化标识,错误MSP默认值未知”
我做了一些研究,但没有发现任何帮助。有人有主意吗?
对不起,我希望我现在在这个频道。提前多谢!
查询是从script.sh复制的,script.sh由调用
./
这个问题更多地涉及到私有区块链框架,如Corda、Hyperledger等。在所有这些平台中,我们都可以编写一些名为chaincode、smart contracts等的程序,这些程序允许我们实现业务逻辑。所有这些都部署在区块链网络的每个对等方中,但如何避免和检测在某些对等方中部署了不同版本的代码
我说的是,智能合约的最终结果是相同的,因此没有达成一致意见,但有些同行可以出于任何原因修改它运行的代码
我们如何在私有区块链中管理这种情况 如果智能合同都由有效的数字签名签署并且具有确定性,则智能合同
以太坊是否接触存储在区块链中的实例状态?
当部署更新的契约时,如何将以前的实例状态恢复到新的联系人实例中?查看有关如何存储状态的信息
将状态迁移到合同的新版本是开发人员的责任。如果合同的数据是紧密耦合的(驻留在同一合同中),那么您必须手动提取数据并使用新版本进行部署
更被接受的方法是为数据创建单独的合同,并将地址传递到负责执行业务逻辑的合同中。区块链中可能存在我知道的合同的副本,但合同实例的状态在哪里?区块链是不可变的,但实例的状态可以改变。
我是一个新的超级分类账作曲家。我了解它的工作方式。但我的兴趣是构建一个用于数字身份管理的区块链应用程序。我已经看到Hyper Ledger正在推出Indy项目,但我想从作曲家开始
per ledger composer在哪里存储资产和参与者
如果我的资产和参与者的数量超过我怎么办
hyper ledger结构和composer之间的差异
如何设计区块链,以便在包含其CGPA等详细信息的机构中存储学生记录
看
不确定这个问题的背景是什么-比什么多?在主题标题的上下文中;自我主权ID是一种数字标
我正在使用truffle在以太坊中编译和部署智能合约,为此我需要创建一些帐户来与智能合约交互
帐户的创建始终使用truffle中的命令行进行,如下所示:
truffle console
web3.personal.newAccount('verystrongpassword')
web3.eth.getBalance('0x95a94979d86d9c32d1d2ab5ace2dcc8d1b446fa1')
web3.personal.unlockAccount('0x95a94979
我从cordapp设置开始。我能够按照设置说明构建corapp示例。
要测试当我打开上面的链接它不工作?
我是否应该进行任何其他设置这是正在解决的文档中的一个错误
通过IntelliJ运行时,节点的网络端口为和。在执行runNodes步骤后,是否有七个终端窗口正在运行?终端窗口中是否有任何错误消息?我已经在IntelliJ中进行了安装,构建成功,没有任何错误。
我在玩块菌,在建筑的时候,我得到了以下错误。我在网上搜索,但没找到有用的东西
运行“truffle.cmd deploy”命令时
C:\Users\user\u name\AppData\Roaming\npm\node\u modules\truffle\build\webpack:\~\truffle expect\index.js:3
应为_keys.forEach(函数(键){^错误:应为参数'from'未传递给函数。
在C:\Users\user\u name\AppData\Roam
我是区块链世界的新手。到目前为止,我发现了两个平台:以太坊、Hyperledger。在哪里可以找到更多平台的列表(如果有)?比特币只是一种货币而不是一个平台 比特币既是一种货币,也是一个平台。您可以使用比特币代码(公共域)创建自己的数字货币
以太坊也是一种货币和平台。它比比特币更通用,允许运行应用程序
Hyperledger是一个联合体,包含多个区块链实施,如Hyperledger锯齿、Hyperledger Fabric、Hyperledger Burrow、Hyperledger Indy或
我试图根据等待时间(使用--txpool.life)和数量(使用--txpool.globalqueue)限制排队事务,但没有任何效果
我将PoA与geth一起使用,我希望在txpool中限制排队事务(具有高nonce的事务)
有人能帮我解决这个问题吗?你找到答案了吗?不幸的是,你找到答案了吗?不幸的是,没有
据我所知,在创建合约时,init字段中的部署代码执行一次,并在返回实际字节码后丢弃,同时,帐户状态中的codeHash字段也相应更新,但是这些实际字节码存储在哪里
我试图从黄皮书的执行模型部分找到一些相关信息:
程序代码不是存储在一般可访问的内存或存储器中,而是单独存储在虚拟ROM中,只能通过专门的指令进行交互
但是我不太理解它,并且仍然不知道在调用契约调用时如何在执行环境中检索和提供实际的字节码
希望在这里获得一些见解,谢谢 我想说,实际字节码的存储方式是以太坊节点的一个实现细节。节点同步所有
在我的智能合约中,我想检查布尔值是否为真,如果不是,智能合约应该中止或抛出一个错误,如
(begin
(require-true value)
...continue
)
我如何才能做到这一点?您可以在函数中使用unwrap panic,例如
(define-private (require-true (value bool))
(unwrap-panic (if value (some true) none))
)
对于提前退出并返回错误,有断言()
我正在看polkadot.js上的api文档
但我不知道该使用哪一个来查询给定帐户ID/发布地址的所有赌注奖励
我在想我必须为每个时代循环。但谁来回报赌注奖励呢。这样我就可以计算出总的加班时间了?多谢各位 通常,节点不用于查询历史状态。相反,您很可能希望使用索引器服务来生成更易于查询的数据。有几个选项,但最受支持的是我建议您使用
或者,您可以查看他们在源代码中为此做了什么
什么是资产,资产的价值是如何定义的,在哪里定义的,资产中的关键值对是什么?您可以在这里找到资产定义:
Fabric Composer可让您轻松定义资产:
我们创建了一个示例CorDapp,并将其部署在AWS的分布式网络中。我们的目标是验证应用程序是否可以存储100万个事务。但是,当一个流针对不同的输入执行多次时,应用程序将崩溃,SSL握手超时异常随后是java堆空间错误
[INFO ] 2018-02-06T16:51:58,146Z [Node thread] connections.access.getIsolatedConnection - HHH10001501: Connection obtained from JdbcConnecti
在最小化天然气成本(或任何其他相关基准)方面,在稳健性方面,排序一系列值并找到最高分数的最佳方法是什么?如果重要的话,这些数字都在一个相当小的范围内我不知道是否有最好的方法,但我通常会在数组中添加新元素时跟踪最高的数字
function refreshTopXOrdered(uint value) private {
uint i = 0;
/** get the index of the current max element **/
for(i; i < top
我试图在Solidity合同中实现签名,但在比较哈希时遇到了问题。我用以下代码计算散列值:
sha256(abi.encodePacked(param1, ...., paramN);
其中:
abi.encodePacked(param1,…,paramN)=[字节:0x0102030405060701]
及
sha255(abi.encodePacked(param1,…,paramN))=[bytes32:
0x245138c905599c8579ab186fbdbd6e62396aac
我想知道是否有办法通过输入/输出地址查找事务
在REST API引用中提到了GET/state/{address},但我不明白我得到了什么响应:
{
"data": "oXiAODM1OGFjYzgyY2FmYmY1ZjUzZmNjNDcwMzE0YTMzYjk1N2ViMzE0ZmI1OWU3MmVkNDVkNjNhMTZjZDAxMjc5NTg1OTliY2Q3ZDQ0ZmI4NWUxZDBmZGY5ZmJmYTU3N2FhZjgyYWNlNzBkMDVmZDJmYWIzMzNhMTYz
我有一个名为ChainList.sol的智能合约文件,其中有一个名为“getArticlesForSale”的函数(请参阅下面的代码),它返回一个索引数组。我还有一个app.js文件,在这里我使用promise调用这个函数(参见下面的代码)。但在控制台中,它给了我一个错误,说“一个solidity函数的参数无效”。在app.js文件(第二个代码)中,它运行“catch”部分并给出错误
在我的合同中,我尝试将uint转换为“uint32”,假设javascript不能读取大整数,即“uint256
我想从账本的最后一块备份对网络运行至关重要的基本文件
我有在sawtooth validator中生成的文件列表,其中包含以下内容:
block-00.lmdb
poter-key-state-0371cbed.lmdb
block-00.lmdb-lock
诗人·共识·州-020a4912.lmdb
区块链id
诗人·共识·州-020a4912.lmdb-lock
merkle-00.lmdb
诗人·共识·州-0371cbed.lmdb
merkle-00.lmdb-lock
txn_-00.
区块链的一个备受评价的特征是数据的可追溯性
我认为存储在区块链上的价格记录是不变的
我试图找出如何在以太坊区块链上实际跟踪状态变化。
为了解释我的问题,以下面的智能合约为例
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
此智能合约部署在tron区块链上。它有一个名为“dividendPool”的变量。其值意外更改。有人遇到过这个奇怪的问题吗?这个合同是部署在testnet(shasta)上的吗?可能是testnet被擦除,出现了意外行为?是的,它部署在shasta网络上
我想找到所有有索引或已注册身份的polkadot帐户;与和类似。使用JS,您可以简单地迭代跟踪所有帐户信息的存储项
例如,要获取具有某些身份信息的所有帐户,您可以执行以下操作:
let users = await api.query.identity.identityOf.entries()
这将返回存储项的标识下的所有不同存储键和值。这些键的AccountId将作为键的最后32个字节
> util_crypto.encodeAddress(users[0][0].slice(-32))
在学习本教程时,我在“部署到正在运行的Hyperledger结构”一节中输入了以下错误。我的Hyperledger结构没有运行,我不知道为什么。我得到的错误如下所示:
tom@tom:~/hyperledger/my-network/dist$ composer network deploy -a my-network.bna -p hlfv1 -i PeerAdmin -s randomString
Deploying business network from archive: my-net
伙计们。
我听说在以太坊拜占庭hardfork发布了ZK(零知识)证明。
请告诉我:我如何使用它来确保匿名ERC20令牌交易。
我是否可以在基于Solidity的以太坊智能合约中使用它,或者我需要等待全面实施
谢谢你的预付款!:) 据我所知,这还不能做到。关于以太坊ZK的唯一进展是验证在Zcash区块链上进行的交易。换句话说,是的,您需要等待全面实施。据我所知,这还不能完成。关于以太坊ZK的唯一进展是验证在Zcash区块链上进行的交易。换句话说,是的,您需要等待完整的实现。零知识证明现在在以太坊
我已在本地安装hyperledger composer。但在localhost上,它给出了错误:
错误:尝试ping时出错
错误:未启用任何业务网络
为此连接指定了
我不能添加模型和脚本文件以及
这是终端中显示的错误
error: [Hyperledger-Composer] undefined:HLFConnection :ping() Error: Error trying to ping. Error: No business n
合同A有一个状态变量owner,它初始化为msg.sender。
但当从另一个契约函数调用此owner变量时,该变量变为0x0,该函数获取契约A实例的地址并转换为类型
环境
编译器版本:0.4.25
框架/IDE:混音
EVM执行环境:
在RemixIDE的运行选项卡上选择“JavaScriptVM”
复制步骤:代码中描述了步骤。
(代码也可从以下网址获得)
您的问题不在于EvilDoer,而在于A中的doSomething()函数
设置返回值时,您将为它们分配值字符串标志、地址发送者、地址
我正在尝试解锁seth rpc容器中创建的别名(使用seth cli go创建)。我正在seth rpc中使用以下命令:
docker exec -it seth-rpc bash
seth-rpc --connect tcp://validator:4004 --bind 0.0.0.0:3030 --unlock myalias
运行上述命令时,我收到以下错误:
'在密钥目录中找不到别名'
在seth cli go中创建帐户:
docker exec -it seth-cli-go bas
我是区块链新手。我读过几篇文章和教程,我明白了这个想法,但有一件事我仍然不明白:挖掘
我的理解是,区块链要真正去中心化,分类账必须由足够多的矿工维护。对于比特币等加密货币,矿商可以获得比特币作为回报,因此他们有动力这样做
但是在其他类型的应用程序中,为什么会有人有动机去挖掘呢?我的意思是,你不能只是“在区块链中存储数据”。您必须能够保证存在大量愿意存储此数据并维护分类账的矿工。应用程序的业务模型必须包括挖掘动机
我的理解正确吗?还是我遗漏了什么?术语“挖掘”通常适用于工作证明区块链系统,其中一组
给定基板运行时内生成的某些哈希值,如何修改或访问该哈希的各个字节?哈希特性输出具有AsRef和AsMut特性,允许您作为字节片[u8]与哈希交互:
或
哈希特性输出具有AsRef和AsMut特性,允许您作为字节片[u8]与哈希进行交互:
或
pub trait Hash: 'static + MaybeSerializeDebug + Clone + Eq + PartialEq {
type Output: Member + MaybeSerializeDebug + AsRef<
如何在javascript代码中初始化waveskeeper对象?我想在我的网站上使用waveskeeper,如果安装了keeper,它会自动出现
您可以在代码中添加以下内容:
console.log(Waves)
console.log(WavesKeeper)
将为您提供相同的对象(意味着您可以使用以太对象)
您可以检查waves keeper是否安装了以下内容:
if(typeof Waves !== 'undefined'){
console.log('installed')
}else
当我启动我的底层区块链时,我想用一些自由余额初始化用户
我怎样才能做到这一点
如果我的链已在运行,而我不想重新启动它,该怎么办?Genesis配置
设置具有初始自由余额的基底用户的最佳方法是更新chain_spec.rs文件,以便在区块链的genesis区块为用户提供单位
此genesis配置通过平衡模块进行:
fn testnet_genesis(initial_authorities: Vec<AuthorityId>, endowed_accounts: Vec<Acco
假设我有以下合同
contract sendEther {
function sendEther() payable {
address to = <Address2>;
to.send(this.balance);
}
}
如果address1使用100乙醚部署此合同。
此合同部署交易将记录在区块链上。
但是,.send函数会导致内部事务。
将以太发送到地址2的内部事务将记录在哪里?内部事务有点用词不当。内部交易不直接记录在任何地
EOS采用以下方法
nodeos(node+eos=nodeos)-可以
配置插件以运行节点
克莱奥斯
(cli+eos=cleos)-与
区块链和管理钱包
keosd(键+eos=keosd)-
在钱包中安全存储EOSIO密钥的组件
部署系统协定时会引发错误,
使用Nodeos进行调试时,发现以下错误日志
错误日志
`Error 3080006: Transaction took too long`.
/cleos set contract eosio../。/unittests/co
我已经使用node js for IoT用例实现了我的个人区块链,因此我现在想在不使用geth、tuffle、ganache、Remix或web3.js的情况下将智能合约代码部署到此区块链中,因此我的目标是使用EVM API来编译和执行智能合约。
那么,如何呢?您可以查看合同ABI规范
跟随
合同应用程序二进制接口(ABI)是
从外部与以太坊生态系统中的合同互动
区块链和合同之间的互动。数据是
根据其类型进行编码,如本规范所述。这个
编码不是自描述的,因此需要一个模式来
解码
而且
要与以太坊集
这是solidity代码,linkedin学习课程中提供的一个简单代码-
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.5.0 <0.7.0;
contract ApprovalContract{
address public sender;
address payable public receiver;
address public constant approver = 0x9BE32C
我尝试使用以下脚本将ropsten ethereum testnet同步到本地服务器:
nohup geth--testnet--bootnodes"enode://8c5131f577ee602ccaad5e5f600011c024d43d33e6af6f8a89ed26cbfadd7efe903a8e426dde4071b857e0838a2efa29ae3b268f8b55acd59e72d4a919673cbc@13.251.47.174:30303,enode://798b8eba7b
所以,是的,我试图在某个代币合同上获得钱包地址的所有交易。但它一直返回null
const Web3 = require('web3')
const web3 = new Web3('https://rpc-mainnet.maticvigil.com/v1/___')
const abi = [contains correct abi]
const contract_address = '0x----------'
const wallet_address = '0x2----------
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 31 页