hyperledger fabric invoke is giving error without syntax error

i am doing research in blockchain and i am trying to do work with erc721 tokens but fabric is giving me so much trouble.

#!/bin/sh
./network.sh down
sudo ./network.sh up -ca -s couchdb
sudo ./network.sh createChannel -c samplechannel
sudo chmod 666 /var/run/docker.sock
docker exec peer0.org1.example.com peer channel list
source ./lifecycle_setup_org1.sh
sudo chmod -R 777 .
peer lifecycle chaincode package chaincode1.tar.gz --path chaincode --lang node --label surya
peer lifecycle chaincode install chaincode1.tar.gz --peerAddresses localhost:7051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE
peer lifecycle chaincode queryinstalled --peerAddresses localhost:7051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE
source ./lifecycle_setup_org2.sh
peer lifecycle chaincode install chaincode1.tar.gz --peerAddresses localhost:9051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE
peer lifecycle chaincode queryinstalled --peerAddresses localhost:9051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE

peer lifecycle chaincode getinstalledpackage --package-id surya:95f3c2d3f1fbc5cb69e9b6d85e6807d7e8786da5ecc2be24d38759cbc08a3636 ouput-directory .

source ./lifecycle_setup_org1.sh
peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile $ORDERER_CA -C samplechannel --name suryacode --version 1.0 --init-required --package-id surya:95f3c2d3f1fbc5cb69e9b6d85e6807d7e8786da5ecc2be24d38759cbc08a3636 --sequence 1

source ./lifecycle_setup_org2.sh
peer lifecycle chaincode approveformyorg --channelID samplechannel --name chaincode1 --version 1.0 --init-required --package-id -o localhost:7050 --ordererTLSHostnameOverride orderer.exmaple.com surya:95f3c2d3f1fbc5cb69e9b6d85e6807d7e8786da5ecc2be24d38759cbc08a3636 --sequence 1 --tls --cafile $ORDERER_CA --name suryacode

source ./lifecycle_setup_org1.sh
peer lifecycle chaincode checkcommitreadiness --channelID samplechannel --name suryacode --version 1.0 --sequence 1 --output json --init-required

source ./lifecycle_setup_org2.sh
peer lifecycle chaincode checkcommitreadiness --channelID samplechannel --name suryacode --version 1.0 --sequence 1 --output json --init-required

source ./lifecycle_setup_channel_commit.sh
peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile $ORDERER_CA --channelID samplechannel --name suryacode --version 1.0 --sequence 1 --init-required --peerAddresses localhost:7051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE_ORG1 --peerAddresses localhost:9051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE_ORG2

peer lifecycle chaincode querycommitted --channelID samplechannel --name suryacode

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile $ORDERER_CA -C samplechannel -n suryacode --peerAddresses localhost:7051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE_ORG1 --peerAddresses localhost:9051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE_ORG2 --isInit -c '{"function":"initLedger","Args":[]}'

this is my execute order? whatever
everything works till the querycommitted but fails in the invoke
idk what i am doing wrong cause docker logs are tell what error i have it is just tell me the chaincode failed to register

docker logs

2024-06-11 09:22:23.878 UTC 0087 WARN [endorser] ProcessProposal -> Failed to invoke chaincode channel=samplechannel chaincode=suryacode error="error in simulation: failed to execute transaction 64e63ec8fb698931b0ca8d76c164fd0d691fd47c54c7017de53c36634827264b: could not launch chaincode surya:95f3c2d3f1fbc5cb69e9b6d85e6807d7e8786da5ecc2be24d38759cbc08a3636: chaincode registration failed: container exited with 1"
2024-06-11 09:22:23.878 UTC 0088 INFO [comm.grpc.server] 1 -> unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=172.25.0.1:57644 grpc.code=OK grpc.call_duration=1.066760198s

invoke error

Error: endorsement failure during invoke. response: status:500 message:"error in simulation: failed to execute transaction 64e63ec8fb698931b0ca8d76c164fd0d691fd47c54c7017de53c36634827264b: could not launch chaincode surya:95f3c2d3f1fbc5cb69e9b6d85e6807d7e8786da5ecc2be24d38759cbc08a3636: chaincode registration failed: container exited with 1"

my actual contract

import TokenERC721Contract from './tokenERC721Contract';

class NFTMinter extends TokenERC721Contract {
    async InitLedger(ctx) {
        try{
        console.info('============= START : Initialize Ledger ===========');
        await super.InitLedger(ctx);
        console.info('============= END : Initialize Ledger ===========');
        } catch (error) {
            console.info(`Error in Initialize Ledger: ${error}`);
        }
    }

    async MintNFT(ctx, tokenId, tokenURI) {
        console.info('============= START : MintNFT ===========');
        await super.Mint(ctx, tokenId, tokenURI);
        console.info('============= END : MintNFT ===========');
    }

    async BurnNFT(ctx, tokenId) {
        console.info('============= START : BurnNFT ===========');
        await super.Burn(ctx, tokenId);
        console.info('============= END : BurnNFT ===========');
    }

    async TransferNFT(ctx, tokenId, to) {
        console.info('============= START : TransferNFT ===========');
        await super.Transfer(ctx, tokenId, to);
        console.info('============= END : TransferNFT ===========');
    }

    async GetNFT(ctx, tokenId) {
        console.info('============= START : GetNFT ===========');
        let result = await super.Get(ctx, tokenId);
        console.info('============= END : GetNFT ===========');
        return result;
    }

    async GetAllNFTs(ctx) {
        console.info('============= START : GetAllNFTs ===========');
        let result = await super.GetAll(ctx);
        console.info('============= END : GetAllNFTs ===========');
        return result;
    }

    async NFTExists(ctx, tokenId) {
        console.info('============= START : NFTExists ===========');
        let result = await super.Exists(ctx, tokenId);
        console.info('============= END : NFTExists ===========');
        return result;
    }
}

export {NFTMinter};

any help will be welcome

i expected the invoke to work and give me result. i read somewhere that this error could mean the 2 organisations gave 2 different outputs but idk… any tips/other problems you see in me code, i will be eternally grateful.