Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

614
Vistas
Error: transacción revertida sin una cadena de motivo

Archivo de solidez: -

 import "hardhat/console.sol"; contract DStorage { string public name = 'DStorage'; uint public fileCount; mapping(uint => File) public files; struct File { uint fileId; string fileHash; uint fileSize; string fileType; string fileName; string fileDescription; uint uploadTime; address uploader; } event FileUploaded( uint fileId, string fileHash, uint fileSize, string fileType, string fileName, string fileDescription, uint uploadTime, address uploader ); constructor() { // <——— Has 0 arguments fileCount=0; } function uploadFile(string memory _fileHash, uint _fileSize, string memory _fileType, string memory _fileName, string memory _fileDescription) public { // Make sure the file hash exists require(bytes(_fileHash).length > 0); // Make sure file type exists require(bytes(_fileType).length > 0); // Make sure file description exists require(bytes(_fileDescription).length > 0); // Make sure file fileName exists require(bytes(_fileName).length > 0); // Make sure uploader address exists require(msg.sender!=address(0)); // Make sure file size is more than 0 require(_fileSize>0); // Increment file id fileCount ++; // Add File to the contract files[fileCount] = File(fileCount, _fileHash, _fileSize, _fileType, _fileName, _fileDescription, block.timestamp,msg.sender); // Trigger an event emit FileUploaded(fileCount, _fileHash, _fileSize, _fileType, _fileName, _fileDescription, block.timestamp,msg.sender); } }

Llamando por Ether.js: -

 const upload = async () => { const reader = new window.FileReader(); reader.readAsArrayBuffer(inputfile); reader.onload = async () => { const result = await ipfs.add(reader.result); contract.uploadFile(result.path, result.size, type, name, "Upload by Ankit") }; }; <button onClick={upload} className="upload-btn"> Upload </button>

Cuando hice clic en el botón Upoad, se llamó a la función de carga y tengo detalles del archivo que estoy cargando en ipfs y envío los detalles a blockchain por contract.upload (.... detalles) pero recibo un error

 {code: -32603, message: 'Internal JSON-RPC error.', data: {…}} code: -32603 data: {code: -32603, message: 'Error: Transaction reverted without a reason string'} message: "Internal JSON-RPC error." [[Prototype]]: Object**

imagen:-IMAGEN DE ERROR

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda