问题标签 [motoko]
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.
dfinity - 互联网计算机的 Dfinity 快速入门
我一直试图让快速入门工作,但各种 dfx 命令似乎没有生成应用程序所需的必要 html 页面和 css 文件。当您在本地部署容器,然后调用它http://localhost:8000/?canisterId=xxx
而不是生成网页时,它只显示 javascript 消息和对话框。
根据快速入门,当你运行时dfx canister install --all
,你应该得到一个看起来像的日志
我得到的只是:
然后它只是返回到终端提示,显然没有上传任何资产。index.html
在我的 hello-assets 资产目录中也没有或“main.css”文件。您可以在适当的 url (http:localhost:8000/?canisterId=' 加载页面,但您没有得到页面,您只是得到 javascript 提示
arrays - 元子中的空条件?
收到以下错误:
当试图遍历一个 id 列表时,获取相应的 HashMap 值,并且仅当 get() 函数返回一个 Product 时才添加到新数组中。
我可能误解了解决这个问题的最佳方法吗?似乎我不应该得到任何错误,因为如果它不是 Product 类型(这是它引用的“预期类型”),它应该继续,对吧?
integer - 与整数下溢/上溢相关的“陷阱”是什么意思?
阅读 Internet Computer 的 Motoko 文档:
https://sdk.dfinity.org/docs/languages/motoko-at-a-glance.html#_bounded_numbers_trapping
我意识到我没有一个很好的模型来解释“诱捕”这个词在这里的含义:
有界数(捕获) Nat8、Nat16、Nat32、Nat64、Int8、Int16、Int32、Int64
上溢和下溢陷阱
需要指定类型注释
文字:13、0xf4、-20、1_000_000
这是否意味着如果尝试写入会导致上溢/下溢的数字,整数将保持在最大值/最小值?
在这种情况下,“陷阱”一词的起源是什么?它在这里的确切含义是什么?
javascript - 尝试将 Motoko 片段添加到 edX 页面并且只解析 HTML
这是当前片段,当插入到页面时,没有运行 edX 中的任何 Motoko 脚本。
目前正在解析的只是 Html 部分。
脚本是否指向正确的文件位置,或者我在上传过程中做错了什么?
motoko - 共享函数具有非共享返回类型
Shared function has non-shared return type
返回Item
该get
方法时出现错误。
一个人将如何制作 Itemshared
或者是否有更好的方法来返回属性/对象
motoko - Motoko 不可变数组类型定义
TL;DR - 哪些方法/属性/功能可用于不可变数组[T]
(或任何内置类型)?
长版
我一直在寻找有关内置类型(例如数组)的基本功能,[T]
但运气不佳。我可以找到有关基本库辅助方法和更高级别类型的信息,但找不到我找不到的基本数组信息。
查看文档smartcontracts.org
我可以找到关于它们的非常基本的信息。如:
https://smartcontracts.org/docs/language-guide/mutable-state.html#immutable-arrays https://smartcontracts.org/docs/language-guide/language-manual.html#exp-arrays
我需要找到数组的长度以及附加/修改数组的最佳方法是什么。中有一些东西mo:base/Array
,但对所有内置功能感到好奇,如果有的话。
https://github.com/dfinity/motoko-base/blob/master/src/Array.mo
我唯一的猜测是[T]
is anIter<T> = { next : () -> ?T }
并且它正在使用Iter<T>.size()
. 如果是这种情况,那么[T]
将需要一个next : () -> ?T
方法,但我找不到定义的位置。
motoko - 元子升级演员等级罐
我正在使用actor classes
动态创建的motoko应用程序。如何使用dfx
.
使用dfx deploy
它时只升级静态actor
容器,而不是我动态创建的任何actor classes
.
更新1:
我发现IC
管理容器可以使用 webassembly 字节在其他容器上安装新代码,但不确定如何获取新代码来更新参与者类实例
对已部署的所有动态创建的参与者类进行更新的正确方法是什么?
例子
主界面
ActorClass.mo
第 1 步:部署
MainCainster 已按预期安装
第二步:调用create_player
函数
创建了 ActorClass 的实例/容器
第 3 步:使用新的/更改的功能更新 ActorClass
第 4 步:重新部署
只有 MainCanister 被更新,没有任何 ActorClass 实例
motoko - 为 Motoko 中的字段转义保留关键字
作为保留关键字的字段名称如何能够“转义”以在类型中使用?
我希望能够返回字段名称为type
.
是否有字符前缀或其他东西,以便在请求中序列化时输出“类型”?
该字段或某种序列化修饰以指定“类型”