0

私はこのようにトラストウォレットを接続します:

//**Connect wallet:**
    import WalletConnect from "@walletconnect/client";
    import QRCodeModal from "@walletconnect/qrcode-modal";    
    const connector = new WalletConnect({
            bridge: "https://bridge.walletconnect.org", // Required
            qrcodeModal: QRCodeModal,
          });    
     document.onreadystatechange = () => {
                // Create a connector          
          // Check if connection is already established
          if (!connector.connected) {
            // create new session
            connector.createSession();
          }
    }

ウォレットが接続されているときに、コインを転送するための転送メッセージに署名しようとしました (binance チェーンと thorchain で試しましたが、動作しません)。

これは、私が msg に署名する方法の例です:

const network = 931; // thorchain(rune)
        const tx = {
          fee: {
            amounts: [
              {
                denom: "rune",
                amount: "0.01"
              }
            ],
            gas: "2000000"
          },
          memo:"test",
          "messages":[{
              "sendCoinsMessage": {
              fromAddress: 'thor1mkda02h8hsevykxwnnxs93tgtvgtz5djxteat0',
              toAddress: "thor1mkda02h8hsevykxwnnxs93tgtvgtz5djxteat0",
              amounts: [
                {
                  denom: "rune",
                  amount: "1"
                }
              ],
            }
          }]//end
        };

次に、リクエストをフォーマットして署名します。

    const request = self.connector._formatRequest({
        method: 'trust_signTransaction',
        params: [
            {
                network,
                transaction: JSON.stringify(tx),
            },
        ],
    });

    connector
      ._sendCallRequest(request)
      .then(result => {
        // Returns transaction signed in json or encoded format
        console.log(result);
      })
      .catch(error => {
        // Error returned when rejected
        console.log('error')
        console.error(error);
      });

}、

これは、私のトラスト ウォレットに表示されるものです。 ここに画像の説明を入力

応答として、コンソールからこれを取得します:

{"mode":"block","tx":{"fee":{"amount":[],"gas":"0"},"memo":"","msg":[],"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A2yB9NhfIeEwTEDbs0ssZQcqtL/OWGuHqooeFllERot3"},"signature":"+kO2W2MfcSBwgLUF3zJUQK4e01YvIGXK8juzojEkE/RrVgrZJPRsthweuto4FJ1QK/MjUWuGlJiC+MjktlBexA=="}]}}

しかし、トランザクションはブロックチェーンに送信されません (ブロックチェーン エクスプローラーにアクセスしても見つかりません) また、コンソールからの応答でわかるように、料金とガスは常に 0 です。

どうすればいいの?

UPD trust_signTransaction の代わりに trust_sendTransaction メソッドも試しましたが、役に立ちませんでした

4

0 に答える 0