Я не вижу ошибки, которая возникает у вас, когда я пытаюсь ее скомпилировать.Однако мне пришлось изменить persons_fn
на person
и patientsCount
на personsCount
, так как они не были объявлены.
Я думаю, что вы просто провели некоторый рефакторинг и забыли изменить их.
В противном случае код успешно компилируется в Remix с 0.4.24+commit.e67f0147.Emscripten.clang
Вот фиксированный код:
pragma solidity ^0.4.24;
contract MasterContract{
struct Person
{
uint Id;
string FirstName;
string LastName;
string FathersName;
string HomeAdress;
string PhoneNumber;
string Username;
string PersonalEmail;
}
mapping(uint => Person) public person;
uint public personsCount;
function addPerson( string _FirstName, string _LastName, string _FathersName, string _HomeAdress, string _PhoneNumber, string _Username, string _PersonalEmail )
private {
personsCount ++;
person[personsCount]=Person(personsCount, _FirstName, _LastName, _FathersName, _HomeAdress, _PhoneNumber, _Username, _PersonalEmail);
}
}
Если вы хотите узнать больше о Солидности и умных контрактах, ознакомьтесь смой курс, который я специально сделал для этого - Интеллектуальные контракты Solidity: создание Dapps в блокчейне Ethereum
Вот купон на скидку: QAUS8657