본문 바로가기
반응형

Telegram4

[Tact] Strings Stringshttps://tact-by-example.org/02-stringsTACT는 strings 을 기본적으로 지원문자열은 유니코드를 지원하며, ‘/n’ 과 같은 특수 이스케이프 문자가 없음.스마트 컨트랙트 내에서 문자열의 사용은 제한적이며, 수정이 불가능하다.특징 3가지문자열의 제한된 사용자금을 관리하기 위한 정확한 프로그램이 때문에, 문자열은 로깅이나 오류 메시지 출력과 같은 용도로만 사용불변성한 번 생성된 문자열은 수정할 수 없음StringBuilder의 활용런타임에서 연결해야할 때, StringBuilder 를 사용한다.StringBuilder는 문자열을 효율적으로 처리하며, 문자열을 추가할 수 있는 append() 메서드를 제공 예제 코드를 살펴보면 아래와 같다.import "@stdl.. 2024. 5. 17.
[Tact] Addresses Addresseshttps://tact-by-example.org/02-addresses 이더리움과 마찬가지로 주소는 기본 데이터 유형 중 하나이다. 주소는 스마트 컨트랙트와 사용자 주소를 식별하는 데 사용된다. 각 스마트 컨트랙트, 사용자 주소는 고유한 값이며, 이를 통해 TON 네트워크 상에서 서로 상호작용하게 된다. 톤은 부하를 분산시키기 위해 워크체인라고 불리는 여러 체인으로 분할되어 있다. 표준 워크체인은 워크체인 ID 가 0인데 이는 일반 사용자의 스마트 컨트랙트와 사용자 계정을 위한 것이며, 워크체인 ID 가 1인 마스터체인은 검증자를 위한 것이다. 마스터체인은 가스비용이 훨씬 더 비싸지만, 보안적으로 훨씬 더 안정적이라는 특징이 있다. 주소는 일반적으로 워크체인 ID 와 계정 ID 로 구성.. 2024. 5. 17.
[Tact] Bools https://tact-by-example.org/02-bools Bools이전에 정수에 대해 살펴봤었는데, 이제는 bools 이다. The bools 는 다른 언어와 마찬가지로 true나 false 의 값을 가질 수 있다. Bool 은 boolean 혹은 logical 연산에 편리하며, 플래그를 저장하는데도 효율적이다.boolean 으로 지원되는 연산은 && || !  이다. bools 는 1 bit 밖에 차지하지 않기 때문에 굉장히 공간 효율적이며, 1000 bools 를 저장하는데 일년에 필요한 비용은 0.00072 TON 정도이다. import "@stdlib/deploy";contract Bools with Deployable { // contract persistent state var.. 2024. 5. 15.
[Tact] Integer Opertaions https://tact-by-example.org/02-integer-ops정수 연산Tact는 정수를 사용한 모든 런타임 계산을 257 비트에서 수행한다. 이 비트의 크기는 큰 수를 다룰 수 있지만, 수학 연산의 결과가 너무 커서 맞지 않으면 오버플로우가 발생할 수 있다. 하지만, 결과가 이 범위를 벗어나게 되면 시스템은 예외를 발생시키고 트랜잭션을 실패시킨다. 이것이 Tact가 안전한 수학 연산을 보장하는 방식이다. 또한, Tact는 서로 다른 크기의 변수를 혼합하여 사용해도 문제가 없도록 설계되었다. 모든 변수는 런타임 시 동일한 유형으로 처리되며, 이는 항상 부호가 있는 257 정수이다. 예를 들어, 달러를 사용한 산술에는 소수점 이하 두 자리가 필요하다. 하지만, 달러를 다룰 때에는 소수점 이하 .. 2024. 5. 15.
728x90