Nebulas是另一个可以开发智能合约的平台。它提供了一种使用JavaScript开发智能合约的方法,这是一种有趣的替代方案,可替代更为成熟的解决方案,例如以太坊。
我第一次在Reddit上宣读了Nebulas奖励计划,该计划奖励开发人员成功提交dApp(去中心化应用程序)。从Nebulas的白皮书中,我们可以了解团队的动机以及他们为dApp提供搜索引擎和排名算法的目标。听起来很熟悉?让我谷歌那个。哦,这听起来像谷歌。
通过浏览白皮书,你了解到Nebulas认识到“区块链上应用程序的价值衡量”问题以及使用区块链进行升级和升级的平台的难度。
这不是一个评论,我既不想也不想足够的知识来评估这个项目解决的问题,如上所述,是否值得投入你的时间或金钱。我对开发人员的经验,从工程角度提供工具的质量感到兴趣,并了解它与成熟的以太坊相比如何。如果我们的目标是内联的,那么这是一个值得一读的帖子。
以太坊虚拟机和Nebulas虚拟机
一般而言,如果你熟悉以太坊的工作原理,了解Nebulas虚拟机(NVM)以及平台如何工作是轻而易举的。提供的气体本质上绑定了以太坊虚拟机(EVM)和NVM上的计算。交易费用是使用的gas,乘以gas价格。
有两种类型的帐户:外部/非合约帐户和智能合约(相应地用类型87和88表示)。
curl -X POST \
http://localhost:8685/v1/user/accountstate \
-H 'content-type: application/json' \
-d '{ "address": "n1Vg9Ngvi3vXo5f59diW4MK8XXger36weUm" }'
{"result":{"balance":"1000000000000000000","nonce":"0","type":87}}
在当前连接的节点上本地运行的调用是免费的,立即返回值并且不更改区块链状态。
curl -X POST \
http://localhost:8685/v1/user/call \
-H 'content-type: application/json' \
-d '{
"from": "n1QA4usgq7sJbcM5LEkJWpgyNBcKtVEULFf",
"to": "n1mQoB6HneRuu7c15Sy79CPHv8rhkNQinJe",
"value": "0",
"gasPrice": "1000000",
"gasLimit": "2000000",
"contract": { "function": "myView", "args": "[100]" }
}
'
{
"result": {
"result": "{\"key\":\"value\"}",
"execute_err": "",
"estimate_gas": "20126"
}
}
每笔交易都会耗费gas并改变区块链状态(在撰写本文时,它的价格便宜且只占一小部分)。
curl -X POST \
http://localhost:8685/v1/admin/transactionWithPassphrase \
-H 'content-type: application/json' \
-d '{
"transaction": {
"from": "n1Vg9Ngvi3vXo5f59diW4MK8XXger36weUm",
"to": "n1gQgDb72yL1vrRcUEP3219ytcZGxEmcc9u",
"value": "0",
"nonce": 59,
"gasPrice": "1000000",
"gasLimit": "20