智能机器人为啥显示ssid无效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能机器人为啥显示ssid无效相关的知识,希望对你有一定的参考价值。

参考技术A 智能机器人显示ssid无效可能是因为你的账号输错了,要检查大小写、前缀、后缀等。
智能机器人之所以叫智能机器人,这是因为它有相当发达的“大脑”。在脑中起作用的是中央处理器,这种计算机跟操作它的人有直接的联系。最主要的是,这样的计算机可以进行按目的安排的动作。正因为这样,我们才说这种机器人才是真正的机器人,尽管它们的外表可能有所不同。
智能机器人具备形形色色的内部信息传感器和外部信息传感器,如视觉、听觉、触觉、嗅觉。除具有感受器外,它还有效应器,作为作用于周围环境的手段。这就是筋肉,或称自整步电动机,它们使手、脚、长鼻子、触角等动起来。由此也可知,智能机器人至少要具备三个要素:感觉要素,反应要素和思考要素。

为啥在尝试从节点脚本部署以太坊智能合约时出现“无效发件人”(-32000)?

【中文标题】为啥在尝试从节点脚本部署以太坊智能合约时出现“无效发件人”(-32000)?【英文标题】:Why "invalid sender" (-32000) when trying to deploy an Ethereum smart contract from node script?为什么在尝试从节点脚本部署以太坊智能合约时出现“无效发件人”(-32000)? 【发布时间】:2021-06-18 04:34:56 【问题描述】:

尝试将我的智能合约部署到 rinkeby 网络,但我收到此错误消息 code: -32000, message: 'invalid sender' .

我尝试通过 Remix 部署我的合约,它运行良好,但我对收到此错误的原因有点迷茫。

const HDWalletProvider = require("@truffle/hdwallet-provider"); // "^1.2.4"
const Web3 = require("web3"); // "^1.3.4"
const compiledFactory = require("./build/factory.json");
const abi = compiledFactory.abi;
const bytecode = compiledFactory.evm.bytecode.object;

const provider = new HDWalletProvider(
  mnemonic: 
    phrase:
      "twelve word mnemonic phrase twelve word mnemonic phrase twelve word mnemonic phrase",
  ,
  providerOrUrl: "https://rinkeby.infura.io/v3/12345678",
);
const web3 = new Web3(provider);

const deploy = async () => 
  const accounts = await web3.eth.getAccounts();

  console.log("Attempting to deploy from account", accounts[0]);
  try 
    const result = await new web3.eth.Contract(abi)
      .deploy( data: bytecode )
      .send( from: accounts[0], gas: "1000000" );
    console.log("Contract deployed to", result.options.address);
   catch (e) 
    console.error(e);
  
;

deploy();

【问题讨论】:

【参考方案1】:

让它工作。问题是,交易必须在发送之前签名。这是更新的部署功能。

const deploy = async () => 
  const accounts = await web3.eth.getAccounts();
  const deploymentAccount = accounts[0];
  const privateKey = provider.wallets[
    deploymentAccount.toLowerCase()
  ].privateKey.toString("hex");

  console.log("Attempting to deploy from account", deploymentAccount);

  try 
    let contract = await new web3.eth.Contract(abi)
      .deploy(
        data: bytecode,
        arguments: [],
      )
      .encodeABI();

    let transactionObject = 
      gas: 4000000,
      data: contract,
      from: deploymentAccount,
      // chainId: 3,
    ;

    let signedTransactionObject = await web3.eth.accounts.signTransaction(
      transactionObject,
      "0x" + privateKey
    );

    let result = await web3.eth.sendSignedTransaction(
      signedTransactionObject.rawTransaction
    );
    console.log("Contract deployed to", result.contractAddress);
   catch (e) 
    console.error(e);
  

  process.exit(1);
;

【讨论】:

以上是关于智能机器人为啥显示ssid无效的主要内容,如果未能解决你的问题,请参考以下文章

智能小车 机器人

为啥在尝试从节点脚本部署以太坊智能合约时出现“无效发件人”(-32000)?

微信智能自动回复机器人

微信智能自动回复机器人

人工智能与机器人在哪些领域成了新秀?

人工智能与机器人在哪些领域成了新秀?