Find Jobs
Hire Freelancers

Bitcoin and Python Backend job

₹600-1500 INR

Publié il y a environ 1 mois

₹600-1500 INR

Payé lors de la livraison
In this task, 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. The deadline is 17th April, 2024. 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 80 points to pass the task. - 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 - 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 task is for you to 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 task of finding a hash below a certain target. - Comment the code for better understanding. AI Usage Disclaimer: You may use AI tools like ChatGPT to gather information and explore alternative approaches, but avoid relying solely on AI for complete solutions. Verify and validate any insights obtained and maintain a balance between AI assistance and independent problem-solving. Final Words: Your code sample will be tested extensively. Only after satisfactionary results you will be paid in full.
N° de projet : 37976978

Concernant le projet

3 propositions
Projet à distance
Actif à il y a 5 jours

Cherchez-vous à gagner de l'argent ?

Avantages de faire une offre sur Freelancer

Fixez votre budget et vos délais
Soyez payé pour votre travail
Surlignez votre proposition
Il est gratuit de s'inscrire et de faire des offres sur des travaux
3 freelances proposent en moyenne ₹938 INR pour ce travail
Avatar de l'utilisateur
Hello, I UNDERSTAND YOUR REQUIREMENTS 100% I'm very interested in Bitcoin and Python Backend job Very happy to your project. Reading your project, I notice that you are looking for a normal programming language developer. I am very familiar with PHP, JavaScript, CSS, HTML, Laravel, Codeigniter, React.js, Vue.js, Angular.js, MySQL, PostgreSQL, Node.js, Python, Django, Flask..... I have 7+ years experience in Website development and Mobile application development(flutter, flutterflow, android studio). So I am pretty sure I can build whatever that you want. Looking forward to work with you. Sincerely.
₹1 165 INR en 5 jours
0,0 (0 commentaires)
Avatar de l'utilisateur
As a skilled Python developer, I am excited to offer my services to assist you with your development needs. With a deep understanding of Python programming language and its ecosystem, I am confident in my ability to deliver high-quality solutions that meet your requirements.
₹600 INR en 7 jours
0,0 (0 commentaires)
Avatar de l'utilisateur
Hello, I'm extremely excited because I recently had a very similar experience. I'm confident that I can complete your task perfectly as soon as possible in a short amount of time, and I'm sure you'll be pleased with the results. Let me quickly introduce myself.
₹1 050 INR en 1 jour
0,0 (0 commentaires)

À propos du client

Drapeau de INDIA
Delhi, India
Méthode de paiement vérifiée
Membre depuis avr. 10, 2024

Vérification du client

Merci ! Nous vous avons envoyé un lien par e-mail afin de réclamer votre crédit gratuit.
Une erreur a eu lieu lors de l'envoi de votre e-mail. Veuillez réessayer.
Utilisateurs enregistrés Total des travaux publiés
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Chargement de l'aperçu
Permission donnée pour la géolocalisation.
Votre session de connexion a expiré et vous avez été déconnecté. Veuillez vous connecter à nouveau.