Find Jobs
Hire Freelancers

Blockchain Technology Implementation -- 2

₹750-1250 INR / hour

Cerrado
Publicado hace alrededor de 2 meses

₹750-1250 INR / hour

Overview In this challenge, you are tasked with the simulation of mining process of a block, which includes validating and including transactions from a given set of transactions. The repository contains a folder mempool which contains JSON files. These files represent individual transactions, some of which may be invalid. Your goal is to successfully mine a block by including only the valid transactions, following the specific requirements outlined below. Objective Your primary objective is to write a script that processes a series of transactions, validates them, and then mines them into a block. The output of your script should be a file named [login to view URL] that follows a specific format. Requirements Input You are provided with a folder named mempool containing several JSON files. Each file represents a transaction that includes all necessary information for validation. Among these transactions, some are invalid. Your script should be able to discern valid transactions from invalid ones. Output Your script must generate an output file named [login to view URL] with the following structure: First line: The block header. Second line: The serialized coinbase transaction. Following lines: The transaction IDs (txids) of the transactions mined in the block, in order. The first txid should be that of the coinbase transaction Difficulty Target The difficulty target is 0000ffff00000000000000000000000000000000000000000000000000000000. This is the value that the block hash must be less than for the block to be successfully mined. Execution Create a file named [login to view URL] that contains the command to execute your script. This file should ideally contain a single command like python [login to view URL] or node index.js. Your script should autonomously perform all tasks when [login to view URL] is executed, without requiring any manual intervention. Evaluation Criteria Your submission will be evaluated based on the following criteria: Score: Your code output will be scored bases on the fee collected and the amount of available block space utilised. You must score at least 60 points to pass the challenge. Correctness: The [login to view URL] file must be correctly formatted in the manner described above. Code Quality: Your code should be well-organized, commented, and follow best practices. Efficiency: Your solution should process transactions and mine the block efficiently. Document your work Apart from the code, you must also publish a [login to view URL] file explaining your solution in the following format: Design Approach: Describe the approach you took to design your block construction program, explain all the key concepts of creating a valid block. Implementation Details: Provide pseudo code of your implementation, including sequence of logic, algorithms and variables used etc. Results and Performance: Present the results of your solution, and analyze the efficiency of your solution. Conclusion: Discuss any insights gained from solving the problem, and outline potential areas for future improvement or research. Include a list of references or resources consulted during the problem-solving process. What NOT to Do In this challenge, it's crucial to understand and adhere to the following restrictions. These are put in place to ensure that you engage with the core concepts of bitcoin and apply your problem-solving skills to implement the solution from first principles. Do Not Use Bitcoin Libraries for Transaction Validation: You must not use any Bitcoin-specific libraries or frameworks that automate transaction validation processes. The intent of this challenge is for you to understand and implement the validation logic manually. Permissible Libraries: The use of standard cryptographic libraries, such as secp256k1 for elliptic curve cryptography, and standard hashing libraries (e.g., for SHA-256) is allowed and encouraged. These libraries are essential for implementing the cryptographic underpinnings of bitcoin without reinventing the wheel. Implement the Mining Algorithm Yourself: You are required to implement the mining algorithm on your own. This includes creating a way to correctly form a block header, calculate the hash, and meet the challenge of finding a hash below a certain target.
ID del proyecto: 37931659

Información sobre el proyecto

7 propuestas
Proyecto remoto
Activo hace 11 días

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos

Sobre este cliente

Bandera de INDIA
Indore, India
5,0
4
Forma de pago verificada
Miembro desde dic 30, 2023

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.