Javascript 如何允许用户在前端部署近协议智能合约?

Javascript 如何允许用户在前端部署近协议智能合约?,javascript,web3,nearprotocol,Javascript,Web3,Nearprotocol,接近能够让个人用户从前端witn NEAR部署他们自己的智能合约,但我遇到了一个错误。首先,守则: const-account=await-near.account('polictrofminds.testnet'); const res=等待axios.get(“/api/contract”); const contractRaw=资源数据; const uint8=新的uint8数组(Buffer.from(contractRaw)) const result=等待帐户部署合同(uint8)

接近能够让个人用户从前端witn NEAR部署他们自己的智能合约,但我遇到了一个错误。首先,守则:

const-account=await-near.account('polictrofminds.testnet');
const res=等待axios.get(“/api/contract”);
const contractRaw=资源数据;
const uint8=新的uint8数组(Buffer.from(contractRaw))
const result=等待帐户部署合同(uint8);
控制台日志(结果);
执行此操作时,会出现以下错误:

Error: The transaction contains more then one action, but it was signed with an access key which allows transaction to apply only one specific action. To apply more then one actions TX must be signed with a full access key
不知道怎么解决这个问题。据我所知,我的
testnet
帐户具有完全访问密钥,我已使用该帐户登录


有人成功地做到了这一点吗?

这里是一个前段时间创建的示例,该示例演示了将合同部署到用户帐户作为通信协议的一部分

更新 (对这一回答发表评论)

@有两种类型的访问键:
FullAccess
允许您使用所有8种支持的操作对事务进行签名,而
FunctionCall
访问键仅允许您使用一种类型的操作对事务进行签名,即
FunctionCall
操作

您可以在此处看到更多关于事务和操作、键等的信息:

在这段视频中,还有一些关于这一限制的相关词语:

似乎您使用函数调用专用访问键来签署事务。要(重新)部署NEAR协议中的契约,必须使用完全访问密钥。有问题的帐户具有完全访问权限和功能调用键,但您需要检查最终使用的是哪一个


看起来基本上和我的一样。我仍然得到相同的错误:``该事务包含多个操作,但它是用一个访问密钥签名的,该密钥只允许事务应用一个特定的操作。要应用多个操作,TX必须使用完全访问密钥签名``我认为这只是表明我不知道帐户和访问密钥应该如何工作。我尝试部署合同的帐户就是我登录的帐户。默认情况下,它似乎具有完全访问密钥。但也许不是?