问题标签 [smartcontracts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
58 浏览

azure - 以太坊中不同控制台变量的可见性

我是以太坊的新手。我正在尝试使用 Azure 的集群开发合同(我有试用帐户)。我使用 geth 从 Azure 中的机器连接到我的网络:

然后我初始化变量

没关系。

但是当我尝试从我的笔记本电脑连接到同一点时:

我试图检查这个变量:

我看到它没有定义。

在两个控制台上,我看到相同的帐户:

从 - C:\Users\boris>

eth.accounts ["0xab14c61930343149c2f54044054cd46b90c0dee6", "0x7cc276b28bfdbb57151ed3b5552aafb2f2592964", "0xc9b8b9d57219b2c0935d8c28d4d2247fe70232f3", "0x2aed463fd54aa41fed898a9629bee6f0935b74fb"]

来自 - gethadmin@XXXXXX-tx0

eth.accounts ["0xab14c61930343149c2f54044054cd46b90c0dee6", "0x7cc276b28bfdbb57151ed3b5552aafb2f2592964", "0xc9b8b9d57219b2c0935d8c28d4d2247fe70232f3", "0x2aed463fd54aa41fed898a9629bee6f0935b74fb"]

两个控制台上的命令admin.peers给了我相同的结果所以,它是相同的网络。

也许我不明白它应该如何工作,但我怀疑,如果我在同一个网络中定义变量,它必须从所有控制台都可见。是不是?合同的情况相同。我在第一个控制台中编译了合约并且可以使用它进行操作,但是从另一个控制台无法访问它。

拜托,你能解释一下为什么会发生这种情况,或者给我适当的链接来得到这个问题的答案。非常感谢

0 投票
1 回答
182 浏览

storage - 区块链中的存储

我只是想更多地了解区块链中的存储。当节点调用智能合约中的函数并将字符串 str 作为参数传递时,该字符串将存储在哪里?

字符串是否存储了两次,一次在合约存储中(在智能合约中编程),一次在链的块中(作为交易)?

还有一件事,智能合约的变量是否存储为哈希?我想知道智能合约存储的样子(它是否作为块中的交易进行哈希处理)

谢谢

0 投票
1 回答
874 浏览

blockchain - What does 'mining' means in smart contract ?

I just would like to check my understanding.

In Bitcoin platform, the miner who does the following: - verify each unconfirmed transaction. - group them in a block - hash the block and find the nonce ( proof of work )

Now, in Ethereum platform, who is the minor ? does the node which call a function in the smart contract can be called ( minor ) ??

If yes, what is the name of parties who call a smart contract function to follow the contract ??

Now I have coded a smart contract to set the prices between parties, each party has to call the function in the smart contract with goods amounts and the contract will calculate the settlement.

Each party has to pay gas to execute this call. Who will get this fees, EVM ( as a fees of call execution ) ???

and does the gas amount changes based on the amount of data in the call ( as a parameter ) or on the code complexity??

Thanks

0 投票
1 回答
172 浏览

exception - VM Exception insolidity

在将智能合约部署到真实网络之前,我正在使用 testrpc 和 truffle 来测试我的智能合约。

在我的合约中,每个节点都必须通过调用函数 register 在合约中注册,之后他可以向/从合约(区块链)发送或接收消息

问题是,当一个地址(比如说来自 testrpc 账户的账户 1)调用函数(发送或接收)时,交易不会发生并且出现此消息

但是当我使用另一个未注册的帐户调用此函数时,它可以工作。

虽然没有发送或接收任何消息,但没有例外..

知道如何解决这个问题。

谢谢

0 投票
1 回答
327 浏览

android - Go-Ethereum:Android 智能合约交互问题

我正在尝试使用 go-ethereum 库通过移动设备(android)与智能合约进行交互。

安卓

合同

预期行为

与 Rinkeby 区块链上部署的智能合约成功交互。

实际行为

对于 setter(在合同上):'abi: cannot use slice as type string as argument'

对于吸气剂(在合同上):'abi:无法将字符串解组到 []interface {}'

重现行为的步骤

1.) 通过手机连接到 Rinkeby 测试网

2.) 通过手机创建账户

3.) 通过桌面部署智能合约

4.) 尝试通过手机与智能合约进行交互

底线

如果有人能够通过 go-ethereum android 与智能合约进行交互,我将不胜感激。

0 投票
1 回答
1235 浏览

ethereum - 了解迁移脚本

假设我使用迁移脚本 2_deploy_contract.js 成功部署了contract.sol。后来合同有变化,我该怎么办?

  1. contract.sol 和重新运行 truffle 的更改会迁移吗?
  2. 不修改contract.sol,而是克隆新文件contract2.sol和3_deploy_contract2.js并运行迁移?
0 投票
1 回答
820 浏览

ethereum - 错误:不支持方法 eth_compileSolidity

ENV:测试-RPC 松露

代码: let source = "pragma solidity ^0.4.11;contract Calc{ uint count; function add(uint a, uint b) returns(uint){ count++; return a + b; } function getCount() return (uint){返回计数;}}";

让 calc = web3.eth.compile.solidity(source);

终端告诉我:truffle(development)> Error: Error: Method eth_compileSolidity not supported。在 GethApiDouble.handleRequest (/Users/user/.nvm/versions/node/v6.10.3/lib/node_modules/ethereumjs-testrpc/build/cli.node.js:101870:16) ......

0 投票
0 回答
255 浏览

blockchain - 在与智能合约的交易中传递哈希字符串

我想在我的交易中传递一个哈希字符串,但使用智能合约。通常这可以使用命令 eth.sendTransaction({from: accounts[0], to: accounts[1], value: integer, data: string) 来完成。

通过上述方式,我想使用智能合约在我的交易中传递一个哈希字符串。我也想将字符串保存在块中。

0 投票
1 回答
204 浏览

ethereum - 以太坊智能合约汇编器

出于学习目的,我想直接在 Assembler 中编写以太坊智能合约。我的意思是我想在某处写黄纸上的操作码,然后将其转换为字节码。

然而,似乎没有用于 EVM 的纯汇编程序,只有各种语言的内联汇编或 LLL,它接近于汇编程序。

这样做是编写我自己的汇编程序的唯一方法吗?这似乎真的很令人惊讶,因为有很多在线反汇编程序。

0 投票
2 回答
117 浏览

javascript - 来自以太坊合约的操作员_;

对不起,如果它是重复的问题。“_”运算符是做什么的?

此代码来自以太坊合约手册: https ://ethereum.org/token#deploying