Solidity

如何使用 html 表單將數據寫入區塊鏈

  • April 5, 2022

我目前正在為我在 Uni 的最後一年項目使用區塊鏈的線上出生證明註冊系統。我在我的項目中加入了 Moralis 來處理使用者並將其連結到 Ganache。我在問是否有人可以告訴我如何將 html 表單中的資訊保存到區塊鏈中。我在網上查過,但似乎沒有人知道我正在尋找的確切答案。下面是 HTML 表單: 當我點擊“添加詳細資訊”時,我希望將收集到的所有資訊保存到區塊鏈中。 在此處輸入圖像描述

為了補充 MrFabio_25 的答案,您可以使用 Vue.js,這樣表單數據的管理會更容易一些。然後,您可以使用 web3,如前所述,與您的合約進行互動。您需要連接到節點或元遮罩,以便發送交易。

您的互動將如下所示:

BirthCertificateStorageInstance.methods.storeBirthCertificate(**parameters**)
.send({from: <account>})
.then((response)=>{
   **do something with response**
});

我不知道這是否是一個好習慣,但我在這裡留下了一個公共項目的連結,他們使用 vue、web3 和 truffle 進行編譯和部署。

https://github.com/openberry-ac/crowdfunding

所以首先你需要部署一個將你的數據儲存在區塊鏈上的合約。部署合約後,您可以使用 js(或任何框架,例如 vue/react)抓取您的 html 表單數據,並使案例如web3.js與合約互動。

契約應如下所示:

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract BirthCertificateStorage {

   uint256 dateOfBirth; //save date as unix timestamp or use a string
   string gender;
   string fullName;
   //... with all of your properties

   function storeBirthCertificate(uint256 _dateOfBirth, string calldata _gender, string calldata _fullName) public {
       dateOfBirth = _dateOfBirth;
       gender = _gender;
       fullName = _fullName;
   }
}

引用自:https://ethereum.stackexchange.com/questions/125433