견고성 도론
13424 단어 blockchainsolidityetherum
우리가 필요로 하는 첫 번째 일은 튼튼한 IDE를 만드는 것이다.Remix IDE는 가장 유행하는 안정적인 프로그래밍 개발 환경 중 하나로, 이 자습서에서 사용할 것입니다.다행히도 우리는 온라인으로 그것을 방문할 수 있었다. here
솔 씨
Solidity 파일이 와 함께 저장됩니다.sol 확장자,solidity 파일임을 표시합니다.
프라하마
pragma solidity ^0.8.2;
계약
이 키워드는 스마트 계약을 만드는 데 사용됩니다.관례에 따르면 계약의 명칭은 통상적으로 실체 문서의 명칭이다.파일의 모든 함수와 변수 성명은 스마트 계약에 봉인됩니다.
contract Test{
Functions and Data
}
변량
변수는 메모리 값을 저장하는 메모리 위치입니다.
문자, 와이드 문자, 정수, 부동, 더블 부동, 부울 등 다양한 데이터 유형의 정보를 저장하는 것을 좋아할 수 있습니다. 운영체제는 변수의 데이터 형식에 따라 메모리를 분배하고 메모리에 저장할 내용을 결정합니다.
변수의 예는 정수, 문자열, 볼이다.
소재지
이 변수는 이더리움 주소 크기를 나타내는 20바이트 값을 포함하는 변수 형식입니다.
address x = 0x212;
매핑 -
맵은 값에 대한 인용을 포함합니다.다음은 문법입니다.그것들은 키 형식과 상응하는 값 유형으로 구성된 해시 테이블을 충당한다.
mapping(_KeyType => _ValueType)
mapping(address => uint) public balances;
이것은 주소 변수를 정수 변수의 키로 비추고, 비추는balances라는 공공 변수에 분배합니다.https://medium.com/upstate-interactive/mappings-in-solidity-explained-in-under-two-minutes-ecba88aff96e
우리는 이런 키 주소에 값을 부여할 수 있다
balances[keyAddress] = value;
견고하게 지탱하다.상태, 로컬 및 글로벌 변수contract SolidityTest {
uint storedData; // State variable
constructor() public {
storedData = 10; // Using State variable
}
}
여기에서 우리는 storedData라는 정수 변수를 성명했다.우리는 계약의 구조에서 그것에 가치를 부여한다.이 값은 전체 계약 컨텍스트에서 사용할 수 있습니다.동네coinbase (대처 주소), 현재 블록 광부의 주소를 되돌려줍니다.변수 목록 참조
기능
함수는 복구 가능한 코드 그룹으로 프로그램의 어느 곳에서든 사용할 수 있습니다.그들은 특정한 임무를 집행한다.함수를 정의하는 가장 일반적인 방법은function 키워드를 사용한 다음에 유일한 함수 이름, 파라미터 목록 (비어 있을 수 있음), 그리고 큰 괄호로 묶은 문장 블록을 사용하는 것이다.
함수는 외부 함수, 공공 함수, 내부 함수 또는 사유 함수로 지정할 수 있으며 기본값은public이다.
function function-name(parameter-list) scope returns() {
//statements
}
예.
contract BlogDemo {
function addNumbers() public view returns(uint){
uint a = 1; // local variable
uint b = 2;
uint result = a + b;
return result;
}
}
이 예에서 함수는addNumbers로 명명되며,public view로 명명됩니다. 이것은 계약 상태를 수정하지 않고, 두 숫자만 덧붙인다는 것을 의미합니다.매개 변수를 받아들이지 않고 정수를 되돌려줍니다.contract BlogDemo {
function addNumbers() public view returns(uint sum, uint product){
uint a = 1; // local variable
uint b = 2;
sum = a + b;
product = a * b;
}
}
이 함수는 곱셈과 합을 되돌려줍니다.Solidity 함수의 Require 키워드는 실행 전에 감지할 수 없는 조건의 유효성을 보장합니다.그것은 입력, 계약 상태 변수, 외부 계약 호출의 반환 값을 검사합니다.만약 내가 특정 조건을 충족시키는 상황에서만 함수를 집행하고 싶다면, 나는 필요한 키워드를 추가할 것이다.
contract BlogDemo {
uint value1 = 5;
uint value2 = 4;
function addNumbers() public view returns(uint sum, uint product){
require( value1 > value2 ,'5 is not greater than 4')
uint a = 1; // local variable
uint b = 2;
sum = a + b;
product = a * b;
}
}
}
이 함수는 value1이 Value2보다 큰 경우에만 수행됩니다.조건이 충족되지 않으면 오류 메시지가 반환됩니다("5는 4보다 크지 않습니다").수식어
수식자는 함수의 행동을 제어할 수 있습니다.다양한 장면에서 사용할 수 있습니다.예를 들어 어떤 함수를 실행하기 전에 누가 이 함수에 접근할 권리가 있는지 검사한다.
contract Test {
address testAddress;
constructor() {
testAddress = msg.sender;
}
// Check if the function is called by the owner of the contract
modifier onlyOwner() {
if (msg.sender == testAddress) {
_;
}
}
함수체에 특수 기호 삽입하기"수정자 정의에 나타납니다.따라서 이 함수를 호출할 때 수식자의 조건을 충족시키면 이 함수를 실행합니다. 그렇지 않으면 이상을 일으킬 수 있습니다.그리고 우리는 다른 함수에서 이 함수 수식자를 조건 검사기로 사용할 수 있다.예를 들어 발송자가 함수를 호출할 때만 이 함수를 실행합니다.
// Can only be called by the owner cause I am using the onlyOwner modifier
function test() public onlyOwner {
}
건설자
구조 함수는 constructor 키워드로 설명할 수 있는 선택 함수로 계약을 만들 때만 실행됩니다.구조 함수는 공공일 수도 있고 내부일 수도 있다.만약 구조 함수가 없다면 계약은 기본 구조 함수를 채택할 것이다.
contructor() public {}
contract SolidityTest {
uint storedData; // State variable
constructor() public {
storedData = 10; // Using State variable
}
}
사건.
이벤트는 해당 이벤트에 전달되는 매개 변수를 블록체인의 거래 로그에 저장합니다.정보를 저장하고 싶으면너는 하나의 사건을 통해 실현할 수 있다.
이벤트 구문
event Transfer(address indexed from, address indexed to, uint _value);
사건에 편지를 쓰다.너는 그 사건을 보냈다.이벤트 전송을 기록합니다.나는 아래의 문법을 사용하여 그것을 보냈다.//Emit an event
emit Transfer(msg.sender, receiverAddress, msg.value);
본고에서 우리는solidity 언어 중의 흔히 볼 수 있는 문법과 용어를 설명했다.이 시리즈의 다음 글에서 우리는solidity를 사용하여 우리의 스마트 계약을 구축하고 Binance 스마트 체인에 배치할 것이다.여기서 나와 나의 소셜 미디어에서 나를 주목하고 비슷한 내용을 더 많이 알게 된다
Reference
이 문제에 관하여(견고성 도론), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/gbengelebs/introduction-to-solidity-228c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)