问题标签 [nearprotocol]

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 投票
2 回答
44 浏览

nearprotocol - 完整访问密钥与私钥之间的区别

完整访问密钥和私钥有什么区别?

这里的解释非常有限。很高兴知道

  • 区别
  • 使用哪种键的示例

这是文档的链接https://docs.near.org/docs/roles/integrator/integrating#access-keys

0 投票
1 回答
42 浏览

nearprotocol - 在智能合约中输入的索引数据用于链下计算

我想索引在近协议智能合约中输入的数据以进行链下计算。

如何在offchain sql数据库或elasticsearch中触发智能合约的新条目以进行实时数据索引?

我可以在前端做到这一点,但不知道这是否是正确/最好的方法,因为不同的用户可以使用不同的前端来查询区块链。

0 投票
1 回答
39 浏览

nearprotocol - 在 jsonrpc near 协议中使用 call_function 获取实际数字是什么?

以下查询在近协议中使用 jsonrpc 中的 call_function

给出以下结果:

如何将结果转换为实际数字“1000000000000000”?

0 投票
1 回答
65 浏览

nearprotocol - NEAR 上的智能合约有事件还是我需要轮询链来获取数据?

智能合约现在是否有事件可以设置监听器,或者我需要手动轮询链以获取有关它们的数据?

0 投票
1 回答
62 浏览

nearprotocol - 在 NEAR Rust 智能合约中停止执行的首选方法是什么?

至少有 3 种方法可以停止程序执行

  1. panic!
  2. assert!(而且都是兄弟姐妹)
  3. env::panic

如何正确停止智能合约执行?

有没有首选的方法?什么时候应该有人使用env::panic

0 投票
1 回答
158 浏览

rust - NEAR 跨合约调用异常如何处理?

如何在合约之间的异步调用链中捕获和处理异常?

假设我的事务发起了以下调用:

在 Promise 中发生异常后,NEAR 不会回滚过去 Promise 中发生的更改。我也没有在near-sdk中看到任何处理异常的方法。

一个想法是返回错误而不是抛出异常并创建一堆私有函数来更新错误值后的状态并添加/释放互斥锁。然而,这并不能解决有时我们无法控制的问题,例如在外部智能合约中(例如,如果contractB.do在上面的示例中会出现恐慌)。

0 投票
1 回答
65 浏览

nearprotocol - “集合是一种不一致的状态。” 带有嵌套的 NEAR 集合

我遇到了一个问题,即嵌套 NEAR 集合(在本例中为TreeMap)可能会出现此错误:

集合是不一致的状态。之前的智能合约执行是否意外终止?

我正在使用的结构如下所示:

然后我们:

  1. 向内部和外部 TreeMap 添加条目。
  2. 删除 out TreeMap 的键(这里是AccountId
  3. 尝试重新添加相同的条目。
  4. 收到上述错误。

我在这里提供了一个演示存储库:

https://github.com/mikedotexe/near-collections-issue

复制、克隆和运行./test.sh

0 投票
1 回答
67 浏览

rust - 在近协议合约的函数中返回多个值

我正在尝试在近协议智能合约中返回两个变量

Javascript代码:

它给出了一个错误

另外,是否可以直接返回 struct ?例如

它也给出了错误:

0 投票
1 回答
49 浏览

nearprotocol - “genesis_height”块是 NEAR 协议中的特殊块吗?

配置中有一个genesis_height字段genesis.json。我们是否可以假设查询该块的某些状态(帐户余额、访问密钥)将揭示创世状态,即该块中不能有额外的交易。

PS 我需要这个来通过 Rosetta RPC 正确地公开创世数据,通过 /block/ API 公开它,所以它需要一些块高度和块散列(我可以将它实现为假块高度 -1 和全零块散列)。

0 投票
2 回答
46 浏览

nearprotocol - 每次函数调用后更新 block_timestamp

我想在每次函数调用后更新 block_timestamp。这就是我在测试中的每个函数调用后更新上下文的方式。

但是在状态更新时会出现以下错误:

如何使用每个函数调用更新 block_timestamp?

代码:https ://gateway.ipfs.io/ipfs/QmTNHuRryBoDmTp7wqmNsCcJW8Gu7G6dz3cE3F4pynv6V9