KR102523069B1 - Method of use blockchain smart contract using API providing system - Google Patents

Method of use blockchain smart contract using API providing system Download PDF

Info

Publication number
KR102523069B1
KR102523069B1 KR1020220177970A KR20220177970A KR102523069B1 KR 102523069 B1 KR102523069 B1 KR 102523069B1 KR 1020220177970 A KR1020220177970 A KR 1020220177970A KR 20220177970 A KR20220177970 A KR 20220177970A KR 102523069 B1 KR102523069 B1 KR 102523069B1
Authority
KR
South Korea
Prior art keywords
blockchain network
transaction
api
smart contract
blockchain
Prior art date
Application number
KR1020220177970A
Other languages
Korean (ko)
Inventor
강준우
김진욱
안현민
Original Assignee
(주)헥슬란트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)헥슬란트 filed Critical (주)헥슬란트
Priority to KR1020220177970A priority Critical patent/KR102523069B1/en
Application granted granted Critical
Publication of KR102523069B1 publication Critical patent/KR102523069B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a method for using a blockchain smart contract using an API providing system. The method for using a blockchain smart contract using an API providing system comprises the steps of: receiving a call for an application programming interface (API) for using a first smart contract of a first blockchain network supporting a smart contract service in a second blockchain network that does not support the smart contract service; mapping the first smart contact to the second blockchain network; storing mapping data about the mapping in an API providing system; obtaining a private key between the first blockchain network and the second blockchain network; storing the private key in the API providing system; generating a first transaction based on the mapping data and first information on the first smart contract; transmitting the generated first transaction to the first blockchain network and storing the first transaction in the first blockchain network; and responding a result to the called API. Therefore, provided is a method for using a blockchain smart contract using an API providing system, wherein a user is enabled to perform a smart contract and to refer for a transaction more easily and more conveniently.

Description

API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법{Method of use blockchain smart contract using API providing system}Method of use blockchain smart contract using API providing system}

본 발명은 API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법에 관한 것이다. 구체적으로, 본 발명은 블록체인 스마트 컨트랙트를 사전 지식 없이 편리하게 이용할 수 있도록 중앙화 서버에서 REST API를 통해 탈중앙화 블록체인 스마트 컨트랙트 기능을 활용하는 방법과 스마트 컨트랙트를 지원하지 않는 메인넷 (예를 들어, 비트코인 메인넷 등)에서 스마트 컨트랙트를 사용할 수 있게 하는 API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법에 관한 것이다.The present invention relates to a method of using a blockchain smart contract using an API providing system. Specifically, the present invention provides a method for utilizing decentralized blockchain smart contract functions through a REST API in a centralized server so that blockchain smart contracts can be conveniently used without prior knowledge, and a mainnet that does not support smart contracts (for example, , Bitcoin Mainnet, etc.), it is about how to use a blockchain smart contract using an API providing system that enables smart contracts to be used.

최근 블록체인 스마트 컨트랙트를 활용한 다양한 기술들이 출현하고 있다. 블록체인 스마트 컨트랙트를 활용하여 서비스하고자 하는 분야 또한 가파르게 증가하고 있지만 블록체인에 대한 기술적 허들이 높고 복잡하여 실제로 활용하기에 어려움을 겪는 사례도 더불어 증가하고 있다.Recently, various technologies using blockchain smart contracts are emerging. The field to be serviced using blockchain smart contracts is also increasing rapidly, but the technical hurdles for blockchain are high and complex, making it difficult to actually use them.

또한, 블록체인 사용 시 발생할 수 있는 트랜잭션 에러에 대해 명확하지 않은 에러 처리로 에러 대응이 요원한 경우도 발생한다. 더불어 비트코인 등 스마트 컨트랙트를 지원하지 않는 블록체인은 자산 거래 이외의 동작을 기대할 수가 없어 그 활용도가 매우 제한적이므로 다양한 블록체인 활용을 방해하는 요소로 작용하고 있다.In addition, there are cases where it is difficult to deal with errors due to unclear error handling for transaction errors that may occur when using blockchain. In addition, blockchains that do not support smart contracts, such as Bitcoin, cannot be expected to operate other than asset transactions, so their utilization is very limited, which acts as a factor hindering the use of various blockchains.

상술한 문제점을 극복하기 위한 방법 및 시스템이 요구되고 있는 실정이다.There is a need for a method and system for overcoming the above problems.

등록특허공보 제10-2461213호Registered Patent Publication No. 10-2461213

본 발명의 목적은, 기술적 어려움으로 인해 블록체인 스마트 컨트랙트를 활용하기 어려워하는 사용자들에게 보다 쉽고 편리하게 스마트 컨트랙트의 실행 및 트랜잭션을 조회할 수 있는 API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법을 제공하는 것이다.The purpose of the present invention is to provide a method of using a blockchain smart contract using an API providing system that can more easily and conveniently query the execution and transaction of a smart contract for users who have difficulty using blockchain smart contracts due to technical difficulties. is to do

또한, 본 발명의 목적은, 트랜잭션 에러 발생 시 상세하고 명확한 에러 메시지를 제공하여 트랜잭션 에러에 대한 대응을 보다 편리하게 할 수 있는 API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법을 제공하는 것이다.In addition, an object of the present invention is to provide a method of using a blockchain smart contract using an API providing system that can more conveniently respond to transaction errors by providing a detailed and clear error message when a transaction error occurs.

또한, 본 발명의 목적은, 스마트 컨트랙트를 미지원하는 블록체인 활용에 대한 확장성을 제고하기 위해 스마트 컨트랙트를 미지원하는 블록체인에 대해 스마트 컨트랙트를 활용할 수 있도록 하는 API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법을 제공하는 것이다.In addition, the purpose of the present invention is to use a blockchain smart contract using an API providing system that enables smart contracts to be utilized for a blockchain that does not support smart contracts in order to improve scalability for the use of blockchains that do not support smart contracts. is to provide a way

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention not mentioned above can be understood by the following description and will be more clearly understood by the examples of the present invention. It will also be readily apparent that the objects and advantages of the present invention may be realized by means of the instrumentalities and combinations indicated in the claims.

상기 과제를 해결하기 위한 본 발명의 몇몇 실시예들에 따른 API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법은, 스마트 컨트랙트 서비스를 지원하는 제1 블록체인 네트워크의 제1 스마트 컨트랙트를 상기 스마트 컨트랙트 서비스를 지원하지 않는 제2 블록체인 네트워크에서 사용하기 위한 API(Application Programming Interface; API)를 호출 받는 단계, 상기 제1 스마트 컨트랙트와 상기 제2 블록체인 네트워크를 맵핑하는 단계, 상기 맵핑에 대한 맵핑 데이터를 API 제공 시스템에 저장하는 단계, 상기 제1 블록체인 네트워크와 상기 제2 블록체인 네트워크 간의 개인 키를 획득하는 단계, 상기 개인 키를 상기 API 제공 시스템에 저장하는 단계, 상기 맵핑 데이터 및 상기 제1 스마트 컨트랙트에 대한 제1 정보를 바탕으로 제1 트랜잭션을 생성하는 단계, 생성된 상기 제1 트랜잭션을 상기 제1 블록체인 네트워크에 전송하여 상기 제1 블록체인 네트워크에 상기 제1 트랜잭션을 저장하는 단계 및 호출 받은 상기 API에 대한 결과를 응답하는 단계를 포함한다.A method of using a blockchain smart contract using an API providing system according to some embodiments of the present invention to solve the above problem is to provide a first smart contract of a first blockchain network supporting a smart contract service to the smart contract service. Receiving an application programming interface (API) for use in a second blockchain network that is not supported, mapping the first smart contract and the second blockchain network, and sending mapping data for the mapping to the API Storing in a providing system, obtaining a private key between the first blockchain network and the second blockchain network, storing the private key in the API providing system, the mapping data and the first smart contract Generating a first transaction based on first information about, transmitting the generated first transaction to the first blockchain network to store the first transaction in the first blockchain network, and receiving a call and responding the result to the API.

또한, 호출 받은 상기 API를 바탕으로 제2 트랜잭션을 생성하는 단계와, 상기 제2 트랜잭션을 상기 제1 블록체인 네트워크로 전송하여 상기 제1 블록체인 네트워크에 상기 제2 트랜잭션을 저장하는 단계를 더 포함할 수 있다.In addition, generating a second transaction based on the called API, and transmitting the second transaction to the first blockchain network to store the second transaction in the first blockchain network. can do.

또한, 상기 API 제공 시스템은, REST(Representational State Transfer; REST)를 기반으로 외부 장치와 통신을 수행할 수 있다.In addition, the API providing system may perform communication with an external device based on Representational State Transfer (REST).

또한, 상기 API 제공 시스템은, 생성된 상기 제1 트랜잭션을 수신받는 블록체인 네트워크 연결부를 포함하고, 상기 제1 트랜잭션을 상기 제1 블록체인 네트워크에 전송하여 상기 제2 블록체인 네트워크에 상기 제1 트랜잭션을 저장하는 단계는, 상기 블록체인 네트워크 연결부를 통해 상기 제1 트랜잭션을 상기 제1 블록체인 네트워크의 노드에 전송하는 단계를 포함할 수 있다.In addition, the API providing system includes a blockchain network connection unit that receives the generated first transaction, transmits the first transaction to the first blockchain network, and transmits the first transaction to the second blockchain network. The storing may include transmitting the first transaction to a node of the first blockchain network through the blockchain network connection unit.

또한, 상기 제1 트랜잭션을 상기 제1 블록체인 네트워크에 전송하여 상기 제1 블록체인 네트워크에 상기 제1 트랜잭션을 저장하는 단계는, 상기 제1 트랜잭션을 바탕으로 상기 맵핑 데이터의 업데이트 데이터를 수신받는 단계를 포함할 수 있다.In addition, the step of transmitting the first transaction to the first blockchain network and storing the first transaction in the first blockchain network is the step of receiving update data of the mapping data based on the first transaction. can include

상기 과제를 해결하기 위한 본 발명의 몇몇 실시예들에 따른 API 제공 시스템은, 사용자 장치로부터 API(Application Programming Interface; API)를 호출 받고, 블록체인 네트워크를 통해 상기 사용자 장치에 상기 호출에 해당하는 제1 결과를 응답하는 API 제공 모듈 및 상기 블록체인 네트워크와 스마트 컨트랙트 간의 맵핑 데이터를 제어하는 블록체인 네트워크 맵핑 모듈을 포함하되, 상기 API 제공 모듈은, 상기 사용자 장치에 REST API(Representational State Transfer Application Programming Interface; REST API)를 제공하는 제어부와, 상기 제1 결과를 생성할 때 사용되는 중간 데이터를 저장하는 저장부와, 상기 사용자 장치, 상기 저장부 및 상기 블록체인 네트워크 중 적어도 하나와 통신하도록 구성되는 통신부를 포함하고, 상기 제어부는, 상기 호출에 따라 상기 스마트 컨트랙트를 실행시키는 트랜잭션을 생성하는 트랜잭션 처리부와, 상기 호출에 따라 상기 블록체인 네트워크에 상기 트랜잭션을 전송하는 블록체인 네트워크 연결부와, 상기 사용자 장치로부터 상기 호출을 수신받아 상기 트랜잭션 처리부, 상기 블록체인 네트워크 연결부 및 상기 저장부로 전송하는 서비스 처리부를 더 포함한다.An API providing system according to some embodiments of the present invention for solving the above problems receives an API (Application Programming Interface; API) call from a user device, and sends a request corresponding to the call to the user device through a blockchain network. 1 includes an API providing module that responds to a result and a blockchain network mapping module that controls mapping data between the blockchain network and a smart contract, wherein the API providing module provides a REST API (Representational State Transfer Application Programming Interface) to the user device. REST API), a storage unit for storing intermediate data used when generating the first result, and a communication unit configured to communicate with at least one of the user device, the storage unit, and the blockchain network. The control unit includes a transaction processing unit generating a transaction for executing the smart contract according to the call, a blockchain network connection unit transmitting the transaction to the blockchain network according to the call, and from the user device A service processing unit receiving the call and transmitting the call to the transaction processing unit, the blockchain network connection unit, and the storage unit is further included.

또한, 상기 블록체인 네트워크 맵핑 모듈은, 적어도 하나 이상의 상기 블록체인 네트워크로부터 상기 맵핑 데이터를 조회하고, 상기 블록체인 네트워크의 노드와 통신하여 개인 키를 생성하는 블록체인 데이터 제어부와, 상기 맵핑 데이터를 생성하여 상기 저장부에 저장하고, 상기 트랜잭션 처리부에 상기 맵핑 데이터를 제공하는 맵핑 데이터 처리부를 더 포함할 수 있다.In addition, the blockchain network mapping module retrieves the mapping data from at least one blockchain network, and generates a blockchain data control unit that generates a private key by communicating with a node of the blockchain network, and generates the mapping data. The mapping data processing unit may further include storing the data in the storage unit and providing the mapping data to the transaction processing unit.

또한, 상기 블록체인 네트워크는, 상기 스마트 컨트랙트에 대한 서비스를 지원하는 제1 블록체인 네트워크와, 상기 스마트 컨트랙트에 대한 서비스를 지원하지 않는 제2 블록체인 네트워크를 포함하고, 상기 블록체인 데이터 제어부는, 상기 제1 블록체인 네트워크에 배포된 제1 스마트 컨트랙트와 상기 제2 블록체인 네트워크를 맵핑하고, 상기 맵핑에 대한 데이터를 상기 저장부에 저장하는 네트워크 맵핑 모듈을 더 포함할 수 있다.In addition, the blockchain network includes a first blockchain network that supports the service for the smart contract and a second blockchain network that does not support the service for the smart contract, and the blockchain data control unit, It may further include a network mapping module for mapping the first smart contract distributed in the first blockchain network and the second blockchain network, and storing data for the mapping in the storage unit.

또한, 상기 블록체인 데이터 제어부는, 상기 제1 블록체인 네트워크 및 상기 제1 스마트 컨트랙트에 대한 제1 정보를 조회하고, 상기 제1 정보에 따라 제1 트랜잭션을 생성하여 상기 제1 블록체인 네트워크에 전송하는 데이터 맵핑 모듈을 더 포함할 수 있다.In addition, the blockchain data control unit searches for first information about the first blockchain network and the first smart contract, generates a first transaction according to the first information, and transmits it to the first blockchain network. It may further include a data mapping module that does.

또한, 상기 중간 데이터는, 상기 블록체인 네트워크에 대한 정보, 상기 블록체인 네트워크에 포함된 지갑에 대한 정보, 상기 스마트 컨트랙트에 대한 정보, 상기 트랜잭션에 대한 정보 및 상기 맵핑 데이터에 대한 정보 중 적어도 하나의 정보를 더 포함하되, 상기 블록체인 네트워크에 포함된 지갑에 대한 정보는 상기 지갑에 대한 주소 또는 상기 지갑에 대한 키를 포함하고, 상기 트랜잭션에 대한 정보는 상기 트랜잭션에 대한 해시 정보를 포함할 수 있다.In addition, the intermediate data is at least one of information about the blockchain network, information about a wallet included in the blockchain network, information about the smart contract, information about the transaction, and information about the mapping data. It may further include information, wherein the information on the wallet included in the blockchain network includes an address for the wallet or a key for the wallet, and the information on the transaction may include hash information on the transaction. .

본 발명의 API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법은, 접근이 용이하고 친숙한 REST API를 제공하여 API를 통해 스마트 컨트랙트를 실행함으로써, 스마트 컨트랙트의 쉽고 편리한 이용이 가능해져 블록체인의 활용도를 제고할 수 있다.The method of using a blockchain smart contract using the API providing system of the present invention provides an accessible and familiar REST API and executes a smart contract through the API, thereby enabling easy and convenient use of the smart contract, thereby improving the utilization of the blockchain. can do.

또한, 트랜잭션 에러 발생 시 REST API를 통해 사용자에게 상세하고 명확한 에러 메시지를 제공함으로써, 트랜잭션 에러에 대한 대응을 정확하고 빠르게 수행할 수 있다.In addition, when a transaction error occurs, it is possible to accurately and quickly respond to transaction errors by providing detailed and clear error messages to users through the REST API.

또한, 스마트 컨트랙트를 미지원하는 블록체인에 대해 스마트 컨트랙트를 지원하는 블록체인을 연결함으로써, 스마트 컨트랙트를 미지원하는 블록체인도 스마트 컨트랙트를 활용하도록 하여 블록체인의 확장성을 제고할 수 있다.In addition, by connecting a blockchain that supports smart contracts to a blockchain that does not support smart contracts, the scalability of the blockchain can be improved by enabling the blockchain that does not support smart contracts to utilize the smart contracts.

상술한 내용과 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.In addition to the above description, specific effects of the present invention will be described together while explaining specific details for carrying out the present invention.

도 1은 사용자 장치, API 제공 모듈, 블록체인 네트워크 맵핑 모듈 및 블록체인 네트워크의 상호작용을 나타내기 위한 도면이다.
도 2는 API 제공 시스템의 구성요소를 나타내기 위한 도면이다.
도 3은 사용자 장치가 REST API를 통하여 스마트 컨트랙트를 지원하는 블록체인 네트워크의 스마트 컨트랙트를 실행하는 과정을 나타내기 위한 도면이다.
도 4는 사용자 장치가 REST API를 통하여 스마트 컨트랙트를 지원하지 않는 블록체인 네트워크에서 스마트 컨트랙트를 사용하는 과정을 나타내기 위한 도면이다.
도 5는 사용자 장치가 REST API를 통하여 실행되었던 트랜잭션의 결과를 조회하는 과정을 나타내기 위한 도면이다.
도 6은 스마트 컨트랙트 미지원 네트워크에서 스마트 컨트랙트를 활용하기 위해 수행되는 과정을 설명하기 위한 도면이다.
도 7은 트랜잭션을 실행하는 API 시퀀스를 나타내기 위한 도면이다.
도 8은 트랜잭션 결과를 조회하는 API 시퀀스를 나타내기 위한 도면이다.
도 9는 스마트 컨트랙트 미지원 블록체인 네트워크의 맵핑 과정 및 트랜잭션 실행 과정을 나타내기 위한 도면이다.
도 10은 스마트 컨트랙트 지원 여부에 따른 트랜잭션 전송까지의 과정을 간략하게 나타내기 위한 순서도이다.
도 11은 스마트 컨트랙트 지원 여부에 따른 트랜잭션 전송까지의 과정을 구체적으로 나타내기 위한 순서도이다.
도 12는 API 제공 시스템의 제어부에 블록체인 네트워크 맵핑 관리부가 포함되어 있는 모습을 나타내기 위한 도면이다.
1 is a diagram for showing interactions between a user device, an API providing module, a blockchain network mapping module, and a blockchain network.
2 is a diagram for showing components of an API providing system.
3 is a diagram illustrating a process in which a user device executes a smart contract of a blockchain network supporting smart contracts through a REST API.
4 is a diagram for illustrating a process in which a user device uses a smart contract in a blockchain network that does not support smart contracts through a REST API.
5 is a diagram illustrating a process in which a user device retrieves a result of a transaction executed through a REST API.
6 is a diagram for explaining a process performed to utilize a smart contract in a network that does not support smart contracts.
7 is a diagram for illustrating an API sequence for executing a transaction.
8 is a diagram for illustrating an API sequence for querying a transaction result.
9 is a diagram illustrating a mapping process and a transaction execution process of a blockchain network that does not support smart contracts.
10 is a flowchart for briefly illustrating the process up to transaction transmission depending on whether smart contracts are supported.
11 is a flowchart for specifically showing the process up to transaction transmission depending on whether smart contracts are supported.
12 is a diagram for showing how a blockchain network mapping management unit is included in the control unit of the API providing system.

본 명세서 및 특허청구범위에서 사용된 용어나 단어는 일반적이거나 사전적인 의미로 한정하여 해석되어서는 아니된다. 발명자가 그 자신의 발명을 최선의 방법으로 설명하기 위해 용어나 단어의 개념을 정의할 수 있다는 원칙에 따라, 본 발명의 기술적 사상과 부합하는 의미와 개념으로 해석되어야 한다. 또한, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명이 실현되는 하나의 실시예에 불과하고, 본 발명의 기술적 사상을 전부 대변하는 것이 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 및 응용 가능한 예들이 있을 수 있음을 이해하여야 한다.Terms or words used in this specification and claims should not be construed as being limited to a general or dictionary meaning. According to the principle that an inventor may define a term or a concept of a word in order to best describe his/her invention, it should be interpreted as meaning and concept consistent with the technical spirit of the present invention. In addition, the embodiments described in this specification and the configurations shown in the drawings are only one embodiment in which the present invention is realized, and do not represent all of the technical spirit of the present invention, so they can be replaced at the time of the present application. It should be understood that there may be many equivalents and variations and applicable examples.

본 명세서 및 특허청구범위에서 사용된 제1, 제2, A, B 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. '및/또는' 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B used in this specification and claims may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The term 'and/or' includes a combination of a plurality of related recited items or any one of a plurality of related recited items.

본 명세서 및 특허청구범위에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this specification and claims are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. It should be understood that terms such as "include" or "have" in this application do not preliminarily exclude the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification. .

“a, b 및 c 중 적어도 하나”라는 부분이 포함된 문장의 의미는 그 부분이 a만을 포함하는 경우, b만을 포함하는 경우, c만을 포함하는 경우, a와 b를 포함하는 경우, a와 c를 포함하는 경우, b와 c를 포함하는 경우와, a, b 및 c를 포함하는 경우를 포함할 수 있다.The meaning of a sentence containing “at least one of a, b, and c” means that the part includes only a, includes only b, includes only c, includes a and b, includes a and b, A case including c, a case including b and c, and a case including a, b, and c may be included.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해서 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this application, it should not be interpreted in an ideal or excessively formal meaning. don't

본 발명에서, 블록체인(blockchain) 또는 블록체인 데이터(blockchain data)란, 블록체인 네트워크를 구성하는 각각의 블록체인 노드가 유지하는 데이터로, 적어도 하나의 블록이 체인 형태의 자료 구조로 구성되는 데이터를 가리킨다. 블록체인 시스템에서, 모든 블록체인 노드는 동일한 블록체인 데이터를 유지한다.In the present invention, blockchain or blockchain data is data maintained by each blockchain node constituting a blockchain network, in which at least one block is composed of a chain-type data structure. points to In a blockchain system, all blockchain nodes maintain the same blockchain data.

본 발명에서, 블록체인 네트워크(blockchain network)란, 블록체인 알고리즘(또는 프로토콜)에 따라 동작하는 복수의 블록체인 노드로 구성된 P2P(peer-to-peer) 구조의 네트워크를 의미한다.In the present invention, a blockchain network refers to a peer-to-peer (P2P) network composed of a plurality of blockchain nodes that operate according to a blockchain algorithm (or protocol).

본 발명에서, 블록체인 노드(blockchain node)란 블록체인 네트워크를 구성하고 블록체인 알고리즘(또는 프로토콜)에 따라 동작하는 컴퓨팅 노드를 의미한다. 상기 컴퓨팅 노드는 물리적 장치로 구현될 수 있으나, 가상 머신(virtual machine)과 같이 논리적 장치로 구현될 수도 있다. 상기 컴퓨팅 노드가 가상 머신으로 구현되는 경우, 하나의 물리적 장치에 복수의 블록체인 노드가 포함될 수도 있다.In the present invention, a blockchain node refers to a computing node that constitutes a blockchain network and operates according to a blockchain algorithm (or protocol). The computing node may be implemented as a physical device, but may also be implemented as a logical device such as a virtual machine. When the computing node is implemented as a virtual machine, a plurality of blockchain nodes may be included in one physical device.

본 발명에서, API(Application Programming Interface; API)란 운영체제와 응용 프로그램 사이의 통신에 사용되는 언어나 메시지 형식을 말한다. 구체적으로, API는 응용 프로그램이 운영체제나 데이터베이스 관리 시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 가지며, API는 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것으로 구현된다. 그러므로 하나의 API는 함수의 호출에 의해 요청되는 작업을 수행하기 위해 이미 존재하거나 또는 연결되어야 하는 몇 개의 프로그램 모듈이나 루틴을 가진다.In the present invention, an application programming interface (API) refers to a language or message format used for communication between an operating system and an application program. Specifically, an API has a language or message format used by an application program to communicate with a system program, such as an operating system or database management system. is implemented as An API therefore has several program modules or routines that either already exist or must be linked to perform the work requested by the call to the function.

본 발명에서, REST(Representational State Transfer; REST)란 서비스 API로서의 웹을 말한다. 구체적으로, REST는 다양한 웹 서비스를 사용자 관점에서 즉각적으로 이용할 수 있게 하는 웹 인터페이스 환경을 말한다. REST는 웹 상에 분산된 자원들을 웹 서비스로써 결합시키는 표준화된 기술 환경을 구현할 수 있다.In the present invention, REST (Representational State Transfer; REST) refers to the web as a service API. Specifically, REST refers to a web interface environment that enables immediate use of various web services from a user's point of view. REST can implement a standardized technology environment that combines resources distributed on the web as a web service.

본 발명에서, 스마트 컨트랙트(smart contract)란, 블록체인 시스템에서 트랜잭션 처리에 이용되는 스크립트 또는 소프트웨어 코드를 의미한다. 보다 구체적으로, 상기 스마트 컨트랙트는 트랜잭션 처리에 이용되는 각종 조건, 상태, 상기 조건에 따른 행위를 프로그래밍 방식으로 작성한 코드로, 예를 들어, 이더리움의 스마트 컨트랙트 등을 포함할 수 있다. 블록체인 시스템에서, 블록체인 노드는 블록체인을 통해 스마트 컨트랙트를 공유할 수 있다.In the present invention, a smart contract refers to a script or software code used for transaction processing in a blockchain system. More specifically, the smart contract is code written programmatically for various conditions, states, and actions according to the conditions used in transaction processing, and may include, for example, an Ethereum smart contract. In a blockchain system, blockchain nodes can share smart contracts through the blockchain.

본 발명에서, 트랜잭션(transaction) 또는 블록체인 트랜잭션(blockchain transaction)이란, 블록체인 환경에서 상태 변화(예를 들어, 잔고의 증감, 자산의 이전)를 일으키는 모든 행위, 블록체인에 기록된 상태(state) 데이터를 조회하는 모든 행위, 또는 그 행위들을 가리키는 데이터를 의미할 수 있다. 예를 들어, 상기 트랜잭션은 블록체인에 특정 데이터를 쓰는 행위, 블록체인에 기록된 특정 데이터를 읽는 행위 등을 모두 포괄할 수 있다. 상기 트랜잭션은 쓰기 타입의 트랜잭션(예를 들어, 상태 데이터를 추가, 수정, 삭제하는 등의 트랜잭션)과 읽기 타입의 트랜잭션(예를 들어, 상태 데이터를 조회하는 트랜잭션)으로 구분될 수 있다. 물론, 블록체인 플랫폼에 따라 읽기 및 쓰기 타입 외에도 다양한 타입(예를 들어, 실행)의 트랜잭션이 존재할 수 있고, 그와 같은 경우 상기 트랜잭션은 다양 한 타입의 트랜잭션을 모두 포함할 수 있다. 또한, 당해 기술 분야에서, 상기 읽기 타입의 트랜잭션의 쿼리(query) 등의 용어와 혼용되어 사용될 수 있다. 상기 트랜잭션은 스마트 컨트랙트(smart contract)를 통해 실행 (예를 들어, 스마트 컨트랙트에 정의된 함수 및 변수를 통해 블록체인에 접근)될 수 있으나, 이는 블록체인 플랫폼에 따라 얼마든지 달라질 수 있다.In the present invention, a transaction or blockchain transaction refers to any action that causes a change in state (eg, increase or decrease in balance, transfer of assets) in a blockchain environment, a state recorded in a blockchain ) may refer to all actions of retrieving data, or data indicating those actions. For example, the transaction may cover both an act of writing specific data to the blockchain and an act of reading specific data recorded in the blockchain. The transaction may be classified into a write-type transaction (eg, a transaction that adds, modifies, or deletes state data) and a read-type transaction (eg, a transaction that retrieves state data). Of course, depending on the blockchain platform, there may be various types of transactions (eg, execution) in addition to the read and write types, and in that case, the transaction may include all of the various types of transactions. Also, in the related art, terms such as a query of the read type transaction may be used interchangeably. The transaction can be executed through a smart contract (for example, accessing the blockchain through functions and variables defined in the smart contract), but this can vary depending on the blockchain platform.

이하에서는 도 1 내지 도 6을 참조하여, 본 발명의 몇몇 실시예에 따른 블록체인 네트워크에서 스마트 컨트랙트를 사용하는 방법과 그 시스템에 대해 설명하도록 한다.Hereinafter, with reference to FIGS. 1 to 6, a method and system for using a smart contract in a blockchain network according to some embodiments of the present invention will be described.

도 1은 사용자 장치, API 제공 모듈, 블록체인 네트워크 맵핑 모듈 및 블록체인 네트워크의 상호작용을 나타내기 위한 도면이고, 도 2는 API 제공 시스템의 구성요소를 나타내기 위한 도면이다.FIG. 1 is a diagram illustrating interactions between a user device, an API providing module, a blockchain network mapping module, and a blockchain network, and FIG. 2 is a diagram illustrating components of an API providing system.

도 1 및 도 2를 참조하면, API 제공 시스템(10000)은 API 제공 모듈(1000) 및 블록체인 네트워크 맵핑 관리 모듈(2000)을 포함할 수 있다. API 제공 모듈(1000)은 사용자 장치(UD)로부터 API(Application Programming Interface; API)를 호출 받고, 블록체인 네트워크를 통해 사용자 장치(UD)에 상기 호출에 해당하는 결과를 응답할 수 있다.Referring to FIGS. 1 and 2 , the API providing system 10000 may include an API providing module 1000 and a blockchain network mapping management module 2000. The API providing module 1000 may receive an application programming interface (API) call from the user device UD, and respond a result corresponding to the call to the user device UD through a blockchain network.

API 제공 모듈(1000)은 상기 호출이 스마트 컨트랙트를 지원하지 않는 블록체인 네트워크에서 스마트 컨트랙트를 활용하고자 하는 호출일 경우, 블록체인 네트워크 맵핑 모듈(2000)로부터 상기 블록체인 네트워크가 상기 스마트 컨트랙트와 맵핑되어 있는지를 확인하기 위해 제1 맵핑 데이터를 조회할 수 있다. 상기 조회된 제1 맵핑 데이터는 API 제공 모듈(1000)에 저장될 수 있다.When the call is a call to utilize a smart contract in a blockchain network that does not support smart contracts, the API providing module 1000 maps the blockchain network with the smart contract from the blockchain network mapping module 2000 The first mapping data may be queried to confirm whether or not there is a mapping. The searched first mapping data may be stored in the API providing module 1000 .

블록체인 네트워크 맵핑 모듈(2000)은 상기 블록체인 네트워크와 상기 스마트 컨트랙트 간의 맵핑 데이터를 제어할 수 있다.The blockchain network mapping module 2000 may control mapping data between the blockchain network and the smart contract.

일 실시예에서, 블록체인 네트워크 맵핑 모듈(2000)에 상기 제1 맵핑 데이터가 존재하는 경우, 블록체인 네트워크 맵핑 모듈(2000)은 API 제공 모듈(1000)에 상기 제1 맵핑 데이터를 전송할 수 있고, API 제공 모듈(1000)은 상기 제1 맵핑 데이터를 저장할 수 있다.In one embodiment, when the first mapping data exists in the blockchain network mapping module 2000, the blockchain network mapping module 2000 may transmit the first mapping data to the API providing module 1000, The API providing module 1000 may store the first mapping data.

다른 실시예에서, 블록체인 네트워크 맵핑 모듈(2000)에 상기 제1 맵핑 데이터가 존재하지 않는 경우, 블록체인 네트워크 맵핑 모듈(2000)은 상기 블록체인 네트워크와 상기 스마트 컨트랙트를 맵핑하여 제2 맵핑 데이터를 생성할 수 있다. 블록체인 네트워크 맵핑 모듈(2000)은 API 제공 모듈(1000)에 상기 생성된 제2 맵핑 데이터를 전송할 수 있고, API 제공 모듈(1000)은 상기 제2 맵핑 데이터를 저장할 수 있다.In another embodiment, when the first mapping data does not exist in the blockchain network mapping module 2000, the blockchain network mapping module 2000 maps the blockchain network and the smart contract to generate second mapping data. can create The blockchain network mapping module 2000 may transmit the generated second mapping data to the API providing module 1000, and the API providing module 1000 may store the second mapping data.

API 제공 모듈(1000)은 블록체인 네트워크 맵핑 모듈(2000)로부터 수신 받은 맵핑 데이터를 블록체인 네트워크(net)의 맵핑 데이터와 비교할 수 있다.The API providing module 1000 may compare the mapping data received from the blockchain network mapping module 2000 with the mapping data of the blockchain network (net).

API 제공 모듈(1000)에 저장된 맵핑 데이터와 블록체인 네트워크(net)의 맵핑 데이터가 일치할 경우, API 제공 모듈(1000)은 상기 스마트 컨트랙트를 실행시키는 트랜잭션을 생성할 수 있다. API 제공 모듈(1000)은 생성된 상기 트랜잭션을 블록체인 네트워크(net)에 전송할 수 있다.When the mapping data stored in the API providing module 1000 and the mapping data of the blockchain network (net) match, the API providing module 1000 may generate a transaction that executes the smart contract. The API providing module 1000 may transmit the generated transaction to a blockchain network (net).

API 제공 모듈(1000)은 사용자 장치(UD)로부터 상기 트랜잭션에 대한 조회 요청을 수신 받을 수 있다. API 제공 모듈(1000)은 사용자 장치(UD)의 상기 조회 요청에 따라 블록체인 네트워크(net)에 상기 트랜잭션 조회를 요청할 수 있다. 블록체인 네트워크(net)는 API 제공 모듈(1000)의 상기 요청에 따라 API 제공 모듈(1000)에 상기 트랜잭션에 대한 결과를 응답할 수 있다. API 제공 모듈(1000)은 상기 결과를 수신 받아 사용자 장치(UD)에 전송할 수 있다.The API providing module 1000 may receive a query request for the transaction from the user device UD. The API providing module 1000 may request the transaction inquiry from the blockchain network net according to the inquiry request of the user device UD. The blockchain network (net) may respond to the result of the transaction to the API providing module 1000 according to the request of the API providing module 1000. The API providing module 1000 may receive the result and transmit it to the user device UD.

블록체인 네트워크 맵핑 모듈(2000)은 상기 트랜잭션 또는 상기 결과를 바탕으로 맵핑 데이터를 수정하거나 새롭게 추가할 수 있다. 블록체인 네트워크(net)는 블록체인 네트워크 맵핑 모듈(2000)에 맵핑 데이터 업데이트에 필요한 데이터를 제공할 수 있다.The blockchain network mapping module 2000 may modify or newly add mapping data based on the transaction or the result. The blockchain network (net) may provide data necessary for updating mapping data to the blockchain network mapping module 2000 .

API 제공 시스템(10000)은 API 제공 모듈(1000) 및 블록체인 네트워크 맵핑 관리 모듈(2000)을 포함할 수 있다.The API providing system 10000 may include an API providing module 1000 and a blockchain network mapping management module 2000.

API 제공 모듈(1000)은 사용자 장치(UD)로부터 API를 호출 받고, 블록체인 네트워크(net)를 통해 사용자 장치(UD)에 상기 호출에 해당하는 결과를 응답할 수 있다. API 제공 모듈(1000)은 통신부(1100), 저장부(1200) 및 제어부(1300)를 포함할 수 있다.The API providing module 1000 may receive an API call from the user device UD and respond a result corresponding to the call to the user device UD through the blockchain network net. The API providing module 1000 may include a communication unit 1100, a storage unit 1200, and a control unit 1300.

통신부(1100)는 사용자 장치(UD), 저장부(1200) 및 블록체인 네트워크(net) 중 적어도 하나와 통신하도록 구성될 수 있다. 통신부(1100)는 사용자 장치(UD), 저장부(1200) 및 블록체인 네트워크(net) 중 적어도 하나와 통신하여 데이터를 송수신할 수 있다.The communication unit 1100 may be configured to communicate with at least one of the user device UD, the storage unit 1200, and a blockchain network net. The communication unit 1100 may transmit and receive data by communicating with at least one of the user device UD, the storage unit 1200, and the blockchain network net.

저장부(1200)는 사용자 장치(UD)로부터 받은 상기 호출에 해당하는 결과를 생성하는 과정에서 사용되는 중간 데이터를 저장할 수 있다.The storage unit 1200 may store intermediate data used in a process of generating a result corresponding to the call received from the user device UD.

상기 중간 데이터는 블록체인 네트워크(net)에 대한 정보, 블록체인 네트워크(net)에 포함된 지갑에 대한 정보, 스마트 컨트랙트를 지원하지 않는 블록체인 네트워크(net)와 맵핑된 스마트 컨트랙트에 대한 정보, 상기 스마트 컨트랙트를 실행시키기 위한 트랜잭션에 대한 정보, 블록체인 네트워크(net)와 스마트 컨트랙트 간의 맵핑 데이터에 대한 정보 중 적어도 하나의 정보를 포함할 수 있다.The intermediate data includes information about a blockchain network (net), information about a wallet included in the blockchain network (net), information about a smart contract mapped with a blockchain network (net) that does not support smart contracts, It may include at least one of information about a transaction for executing a smart contract and information about mapping data between a blockchain network (net) and a smart contract.

이때, 상기 지갑에 대한 정보는 상기 지갑에 대한 주소 또는 상기 지갑에 대한 키를 포함할 수 있다. 상기 트랜잭션에 대한 정보는 상기 트랜잭션에 대한 해시 정보를 포함할 수 있다.In this case, the information about the wallet may include an address of the wallet or a key of the wallet. The information on the transaction may include hash information on the transaction.

제어부(1300)는 사용자 장치(UD)에 REST API(1311)를 제공할 수 있다. 제어부(1300)는 서비스 처리부(1310), 트랜잭션 처리부(1320) 및 블록체인 네트워크 연결부(1330)를 포함할 수 있다.The controller 1300 may provide a REST API 1311 to the user device UD. The control unit 1300 may include a service processing unit 1310, a transaction processing unit 1320, and a blockchain network connection unit 1330.

서비스 처리부(1310)는 사용자 장치(UD)로부터 수신 받은 API 호출을 트랜잭션 처리부(1320), 블록체인 네트워크 연결부(1330) 및 저장부(1200)로 전송할 수 있다.The service processing unit 1310 may transmit the API call received from the user device UD to the transaction processing unit 1320, the blockchain network connection unit 1330, and the storage unit 1200.

트랜잭션 처리부(1320)는 상기 API 호출에 따라 스마트 컨트랙트를 실행시키는 트랜잭션을 생성할 수 있다. 트랜잭션 처리부(1320)는 상기 생성된 트랜잭션을 블록체인 네트워크 연결부(1330)로 전송할 수 있다.The transaction processing unit 1320 may create a transaction that executes a smart contract according to the API call. The transaction processing unit 1320 may transmit the generated transaction to the blockchain network connection unit 1330.

블록체인 네트워크 연결부(1330)는 상기 API 호출에 따라 트랜잭션 처리부(1320)로부터 수신 받은 상기 트랜잭션을 블록체인 네트워크(net)에 전송할 수 있다.The blockchain network connection unit 1330 may transmit the transaction received from the transaction processing unit 1320 to the blockchain network (net) according to the API call.

블록체인 네트워크 맵핑 관리 모듈(2000)은 블록체인 네트워크(net)와 스마트 컨트랙트 간의 맵핑 데이터를 제어할 수 있다. 블록체인 네트워크 맵핑 관리 모듈(2000)은 블록체인 데이터 제어부(2100) 및 맵핑 데이터 처리부(2200)를 포함할 수 있다.The blockchain network mapping management module 2000 may control mapping data between a blockchain network (net) and a smart contract. The blockchain network mapping management module 2000 may include a blockchain data control unit 2100 and a mapping data processing unit 2200.

블록체인 데이터 제어부(2100)는 적어도 하나 이상의 블록체인 네트워크(net)로부터 맵핑 데이터를 조회하고, 블록체인 네트워크(net)의 노드와 통신하여 개인 키를 생성할 수 있다. 블록체인 데이터 제어부(2100)는 네트워크 맵핑 모듈(2110) 및 데이터 맵핑 모듈(2120)을 포함할 수 있다.The blockchain data control unit 2100 may retrieve mapping data from at least one or more blockchain networks (net) and generate a private key by communicating with a node of the blockchain network (net). The blockchain data controller 2100 may include a network mapping module 2110 and a data mapping module 2120.

네트워크 맵핑 모듈(2110)은 스마트 컨트랙트 서비스를 지원하는 제1 블록체인 네트워크의 제1 스마트 컨트랙트와 스마트 컨트랙트 서비스를 지원하지 않는 제2 블록체인 네트워크를 맵핑하고, 상기 맵핑에 대한 데이터를 저장부(1200)에 저장할 수 있다.The network mapping module 2110 maps the first smart contract of the first blockchain network supporting the smart contract service and the second blockchain network that does not support the smart contract service, and stores data for the mapping in the storage unit 1200. ) can be stored.

데이터 맵핑 모듈(2120)은 상기 제1 블록체인 네트워키 및 상기 제1 스마트 컨트랙트에 대한 제1 정보를 조회하고, 상기 제1 정보에 따라 제1 트랜잭션을 생성하여 상기 제1 블록체인 네트워크에 전송할 수 있다. 데이터 맵핑 모듈(2120)은 컨트랙트 맵핑 파트(2121), 데이터 맵핑 파트(2122) 및 키 맵핑 파트(2123)를 포함할 수 있다.The data mapping module 2120 may query first information about the first blockchain network and the first smart contract, generate a first transaction according to the first information, and transmit it to the first blockchain network there is. The data mapping module 2120 may include a contract mapping part 2121, a data mapping part 2122, and a key mapping part 2123.

맵핑 데이터 처리부(2200)는 맵핑 데이터를 생성하여 저장부(1200)에 저장하고, 트랜잭션 처리부(1320)에 상기 맵핑 데이터를 제공할 수 있다. 맵핑 데이터 처리부(2200)는 키 생성 모듈(2210)을 포함할 수 있다.The mapping data processing unit 2200 may generate and store mapping data in the storage unit 1200 and provide the mapping data to the transaction processing unit 1320 . The mapping data processing unit 2200 may include a key generation module 2210.

키 생성 모듈(2210)은 상기 제2 블록체인 네트워크와 상기 제1 블록체인 네트워크 간에 새로운 개인 키가 필요할 경우, 상기 개인 키를 생성하고, 상기 개인 키에 대한 정보를 API 제공 시스템(10000)의 저장부(1200)에 저장할 수 있다.The key generation module 2210 generates the private key when a new private key is needed between the second blockchain network and the first blockchain network, and stores information on the private key in the API providing system 10000. It can be stored in unit 1200.

도 3은 사용자 장치가 REST API를 통하여 스마트 컨트랙트를 지원하는 블록체인 네트워크의 스마트 컨트랙트를 실행하는 과정을 나타내기 위한 도면이다.3 is a diagram illustrating a process in which a user device executes a smart contract of a blockchain network supporting smart contracts through a REST API.

도 3을 참조하면, 사용자 장치(UD)는 API 제공 시스템(10000)이 제공하는 REST API(1311)를 호출하여 블록체인 네트워크 A(net_a)에 배포된 컨트랙트 A(con_a)를 실행할 수 있다. 이때, 블록체인 네트워크 A(net_a)는 컨트랙트 A(con_a)를 지원하는 블록체인 네트워크를 의미하고, 컨트랙트 A(con_a)는 스마트 컨트랙트의 일 실시예를 의미할 수 있다.Referring to FIG. 3 , the user device (UD) may call the REST API 1311 provided by the API providing system 10000 to execute the contract A (con_a) deployed in the blockchain network A (net_a). At this time, blockchain network A (net_a) means a blockchain network that supports contract A (con_a), and contract A (con_a) may mean an embodiment of a smart contract.

사용자 장치(UD)가 블록체인 네트워크 A(net_a)의 컨트랙트 A(con_a)를 실행시키는 REST API(1311)를 호출하면, API 제공 시스템(10000)은 저장부(1200)에 저장된 정보를 사용하여 트랜잭션 처리부(1320)에서 호출된 REST API(1311)에 해당하는 컨트랙트 A(con_a)를 실행하는 트랜잭션을 생성할 수 있다. 생성된 상기 트랜잭션은 블록체인 네트워크 연결부(1330)를 통해 블록체인 네트워크 A(net_a)의 노드 A(nd_a)로 전송될 수 있다.When the user device (UD) calls the REST API 1311 that executes the contract A (con_a) of the blockchain network A (net_a), the API providing system 10000 uses the information stored in the storage unit 1200 to make a transaction A transaction that executes contract A (con_a) corresponding to the REST API 1311 called by the processing unit 1320 may be created. The generated transaction may be transmitted to the node A (nd_a) of the blockchain network A (net_a) through the blockchain network connection unit 1330.

일 실시예에서, API 제공 시스템(10000)은 블록체인 네트워크 A(net_a)에 상기 트랜잭션을 전송한 후에 사용자 장치(UD)에 API 응답을 전송할 수 있다.In one embodiment, the API providing system 10000 may transmit an API response to the user device UD after transmitting the transaction to the blockchain network A (net_a).

다른 실시예에서, API 제공 시스템(10000)은 블록체인 네트워크 A(net_a)에 상기 트랜잭션을 전송하고, 블록체인 네트워크 A(net_a)로부터 상기 트랜잭션에 대한 결과를 응답 받은 후에 사용자 장치(UD)에 API 응답을 전송할 수 있다.In another embodiment, the API providing system 10000 transmits the transaction to the blockchain network A (net_a), receives a response from the blockchain network A (net_a), and then sends the API to the user device (UD). response can be sent.

도 4는 사용자 장치가 REST API를 통하여 스마트 컨트랙트를 지원하지 않는 블록체인 네트워크에서 스마트 컨트랙트를 사용하는 과정을 나타내기 위한 도면이다.4 is a diagram for illustrating a process in which a user device uses a smart contract in a blockchain network that does not support smart contracts through a REST API.

도 4를 참조하면, 사용자 장치(UD)는 API 제공 시스템(10000)을 통해 블록체인 네트워크 C(net_c)에서 블록체인 네트워크 B(net_b)에 배포된 제2 컨트랙트 B(con_b2)를 활용할 수 있다. 이때, 블록체인 네트워크 B(net_b)는 제1 컨트랙트 B(con_b1) 및 제2 컨트랙트 B(con_b2)를 지원하는 블록체인 네트워크를 의미하고, 블록체인 네트워크 C(net_c)는 스마트 컨트랙트를 지원하지 않는 블록체인 네트워크를 의미하고, 제1 컨트랙트 B(con_b1) 및 제2 컨트랙트 B(con_b2)는 스마트 컨트랙트의 몇몇 실시예를 의미할 수 있다.Referring to FIG. 4 , the user device (UD) may utilize the second contract B (con_b2) distributed from the blockchain network C (net_c) to the blockchain network B (net_b) through the API providing system 10000. At this time, the blockchain network B (net_b) refers to a blockchain network supporting the first contract B (con_b1) and the second contract B (con_b2), and the blockchain network C (net_c) is a block that does not support smart contracts. It means a chain network, and the first contract B (con_b1) and the second contract B (con_b2) may mean some embodiments of smart contracts.

이하에서는 도 4에서 수행되는 과정에 필요한 블록체인 네트워크의 구성을 설명하도록 한다.Hereinafter, the configuration of the blockchain network necessary for the process performed in FIG. 4 will be described.

블록체인 네트워크(net)는 적어도 하나 이상의 블록체인 노드로 구성된 P2P 구조의 네트워크를 의미할 수 있다. 도 4에서 블록체인 네트워크(net)는 블록체인 네트워크 A(net_a), 블록체인 네트워크 B(net_b) 및 블록체인 네트워크 C(net_c)를 포함할 수 있다. 이때, 블록체인 네트워크 A(net_a) 및 블록체인 네트워크 B(net_b)는 스마트 컨트랙트 서비스를 지원하는 블록체인 네트워크를 의미하고, 블록체인 네트워크 C(net_c)는 스마트 컨트랙트 서비스를 지원하지 않는 블록체인 네트워크를 의미할 수 있다.A blockchain network (net) may refer to a P2P structured network composed of at least one blockchain node. In FIG. 4, the blockchain network (net) may include a blockchain network A (net_a), a blockchain network B (net_b), and a blockchain network C (net_c). At this time, blockchain network A (net_a) and blockchain network B (net_b) refer to blockchain networks that support smart contract services, and blockchain network C (net_c) refers to blockchain networks that do not support smart contract services. can mean

블록체인 네트워크 A(net_a)는 적어도 하나 이상의 노드 A(nd_a)가 참여하여 네트워크를 구성할 수 있다. 각각의 노드 A(nd_a)는 블록을 체인 형태의 자료 구조로 관리할 수 있다. 각각의 노드 A(nd_a)는 컨트랙트 A(con_a)에 대한 트랜잭션을 기록하고 검증하는 합의 프로세스를 통해 상기 트랜잭션의 무결성 및 보안성을 보장하고, 컨트랙트 A(con_a)의 무결성을 보장할 수 있다.A blockchain network A (net_a) can be formed by participating at least one node A (nd_a). Each node A (nd_a) can manage blocks in a chain-type data structure. Each node A (nd_a) can ensure the integrity and security of the transaction and the integrity of the contract A (con_a) through a consensus process that records and verifies the transaction for contract A (con_a).

블록체인 네트워크 B(net_b)는 적어도 하나 이상의 노드 B(nd_b)가 참여하여 네트워크를 구성할 수 있다. 각각의 노드 B(nd_b)는 블록을 체인 형태의 자료 구조로 관리할 수 있다. 각각의 노드 B(nd_b)는 제1 컨트랙트 B(con_b1) 또는 제2 컨트랙트 B(con_b2)에 대한 트랜잭션을 기록하고 검증하는 합의 프로세스를 통해 상기 트랜잭션의 무결성 및 보안성을 보장하고, 제1 컨트랙트 B(con_b1) 또는 제2 컨트랙트 B(con_b2)의 무결성을 보장할 수 있다.A blockchain network B (net_b) can be formed by participating at least one Node B (nd_b). Each Node B (nd_b) can manage blocks in a chain-type data structure. Each node B (nd_b) guarantees the integrity and security of the transaction through a consensus process of recording and verifying the transaction for the first contract B (con_b1) or the second contract B (con_b2), and the first contract B (con_b1) or the integrity of the second contract B (con_b2) can be guaranteed.

블록체인 네트워크 C(net_c)는 지갑(wal_c)을 포함할 수 있다. 지갑(wal_c)은 블록체인 네트워크 C(net_c)와 상호작용하는 지갑을 의미할 수 있다. 구체적으로, 지갑(wal_c)은 거래를 할 때 필요한 공개 키 또는 개인 키에 대한 정보를 포함할 수 있다.Blockchain network C (net_c) may include a wallet (wal_c). The wallet (wal_c) may mean a wallet that interacts with the blockchain network C (net_c). Specifically, the wallet (wal_c) may include information about a public key or a private key required for a transaction.

네트워크 맵핑 모듈(2110)은 제2 컨트랙트 B(con_b2)와 블록체인 네트워크 C(net_c)를 맵핑하고, 상기 맵핑에 대한 정보를 API 제공 시스템(10000)의 저장부(1200)에 저장할 수 있다. 이에 따라, 블록체인 네트워크 C(net_c)는 블록체인 네트워크 B(net_b) 내에 배포된 제2 컨트랙트 B(con_b2)를 활용할 수 있게 된다.The network mapping module 2110 may map the second contract B (con_b2) and the blockchain network C (net_c), and store information about the mapping in the storage unit 1200 of the API providing system 10000. Accordingly, blockchain network C (net_c) can utilize the second contract B (con_b2) distributed in blockchain network B (net_b).

키 생성 모듈(2210)은 블록체인 네트워크 C(net_c)와 블록체인 네트워크 B(net_b) 간에 새로운 개인 키가 필요할 경우, 상기 개인 키를 생성하고, 상기 개인 키에 대한 정보를 API 제공 시스템(10000)의 저장부(1200)에 저장할 수 있다.The key generation module 2210 generates the private key when a new private key is needed between the blockchain network C (net_c) and the blockchain network B (net_b), and transmits information about the private key to the API providing system 10000. Can be stored in the storage unit 1200 of.

데이터 맵핑 모듈(2120)은 블록체인 네트워크(net)에 대한 정보, 스마트 컨트랙트에 대한 정보(예를 들어, 스마트 컨트랙트 주소 등) 및 지갑(wal_c)에 대한 정보(예를 들어, 지갑 주소 등) 중 적어도 하나의 정보를 다른 정보와 맵핑하고, 상기 맵핑에 대한 정보를 데이터 맵핑 모듈(2120) 또는 저장부(1200)에 저장할 수 있다.The data mapping module 2120 includes information on the blockchain network (net), information on the smart contract (eg, smart contract address, etc.), and information on the wallet (wal_c) (eg, wallet address, etc.) At least one piece of information may be mapped with other information, and information on the mapping may be stored in the data mapping module 2120 or the storage unit 1200 .

이하에서는 도 4에서 수행되는 과정을 순서대로 설명하도록 한다.Hereinafter, the process performed in FIG. 4 will be described in order.

사용자 장치(UD)가 API 제공 시스템(10000)의 REST API(1311)를 호출하여 블록체인 네트워크 C(net_c)에서 스마트 컨트랙트를 활용하고자 할 때, API 제공 시스템(10000)은 데이터 맵핑 모듈(2120)을 통해 블록체인 네트워크 B(net_b)와 블록체인 네트워크 C(net_c) 간의 제1 맵핑 데이터 및 제2 컨트랙트 B(con_b2)와 블록체인 네트워크 C(net_c) 간의 제2 맵핑 데이터를 조회한 후, 트랜잭션 처리부(1320)에서 상기 호출된 REST API(1311)에 해당하는 트랜잭션을 생성할 수 있다.When the user device (UD) calls the REST API (1311) of the API providing system (10000) to utilize the smart contract in the blockchain network C (net_c), the API providing system (10000) uses the data mapping module (2120) After retrieving the first mapping data between the blockchain network B (net_b) and the blockchain network C (net_c) and the second mapping data between the second contract B (con_b2) and the blockchain network C (net_c) through In step 1320, a transaction corresponding to the called REST API 1311 may be created.

API 제공 시스템(10000)은 상기 제1 및 제2 맵핑 데이터를 바탕으로 트랜잭션 처리부(1320)에서 트랜잭션을 생성하여 블록체인 네트워크 B(net_b)에 전송할 수 있다. 블록체인 네트워크 C(net_c)는 지갑(wal_c)을 통해서 블록체인 네트워크 B(net_b)에 전송된 트랜잭션을 열람할 수 있다.The API providing system 10000 may generate a transaction in the transaction processing unit 1320 based on the first and second mapping data and transmit it to the blockchain network B (net_b). Blockchain network C (net_c) can view transactions transmitted to blockchain network B (net_b) through the wallet (wal_c).

데이터 맵핑 모듈(2120)은 생성된 상기 트랜잭션 및 상기 트랜잭션에 대한 결과를 바탕으로 상기 제1 및 제2 맵핑 데이터를 수정하거나, 새로운 제3 맵핑 데이터를 추가할 수 있다.The data mapping module 2120 may modify the first and second mapping data or add new third mapping data based on the generated transaction and the result of the transaction.

도 5는 사용자 장치가 REST API를 통하여 실행되었던 트랜잭션의 결과를 조회하는 과정을 나타내기 위한 도면이다.5 is a diagram illustrating a process in which a user device retrieves a result of a transaction executed through a REST API.

도 5를 참조하면, API 제공 시스템(10000)은 사용자 장치(UD)로부터 수신 받은 API 요청을 처리하는 역할을 수행할 수 있다. API 제공 시스템(10000)은 상기 API 요청에 따른 트랜잭션을 생성하여, 블록체인 네트워크(net)에 전송하는 역할을 수행할 수 있다. API 제공 시스템(10000)은 블록체인 네트워크(net)와 연결하는 과정에서 에러가 발생할 경우, 상기 에러의 로그를 남기고 사용자에게 상기 에러에 대한 상세 내용을 응답하는 역할을 수행할 수 있다.Referring to FIG. 5 , the API providing system 10000 may serve to process API requests received from the user device UD. The API providing system 10000 may play a role of generating a transaction according to the API request and transmitting it to a blockchain network (net). When an error occurs in the process of connecting to a blockchain network (net), the API providing system 10000 can leave a log of the error and respond to the user with details about the error.

상기 언급한 API 제공 시스템(10000)의 역할을 수행하기 위해 블록체인 네트워크(net)가 API 제공 시스템(10000)으로부터 트랜잭션을 조회하는 과정이 필요하고, 상기 과정을 설명하기 위해, 다시 도 5를 참조하면, 사용자 장치(UD)가 트랜잭션 조회를 실행하는 API를 요청할 수 있다. 상기 트랜잭션은 API 제공 시스템(10000)으로부터 생성되어 블록체인 네트워크 A(net_a)로 전송된 트랜잭션을 의미할 수 있다.In order to perform the role of the above-mentioned API providing system 10000, the block chain network (net) needs a process of retrieving transactions from the API providing system 10000, and to explain the above process, refer to FIG. 5 again. If so, the user device UD may request an API for executing transaction inquiry. The transaction may refer to a transaction generated from the API providing system 10000 and transmitted to the blockchain network A (net_a).

API 제공 시스템(10000)은 블록체인 네트워크 연결부(1330)를 통해 블록체인 네트워크 A(net_a)의 노드 A(nd_a)에게 상기 트랜잭션에 대한 결과를 요청할 수 있다.The API providing system 10000 may request a result of the transaction from the node A (nd_a) of the blockchain network A (net_a) through the blockchain network connection unit 1330.

API 제공 시스템(10000)은 블록체인 네트워크 연결부(1330)를 통해 노드 A(nd_a)로부터 상기 결과를 수신 받을 수 있다. API 제공 시스템(10000)은 수신 받은 상기 결과를 저장부(1200)에 저장하고, 상기 결과를 사용자 장치(UD)에 응답할 수 있다.The API providing system 10000 may receive the result from node A (nd_a) through the blockchain network connection unit 1330. The API providing system 10000 may store the received result in the storage unit 1200 and respond to the result to the user device UD.

도 6은 스마트 컨트랙트 미지원 네트워크에서 스마트 컨트랙트를 활용하기 위해 수행되는 과정을 설명하기 위한 도면이다.6 is a diagram for explaining a process performed to utilize a smart contract in a network that does not support smart contracts.

이하에서는, 상기 과정을 수행하기 위해 활용하는 시스템의 구성 및 상기 구성의 역할을 설명하도록 한다.Hereinafter, the configuration of a system used to perform the process and the role of the configuration will be described.

도 2 및 도 6을 참조하면, 상기 과정을 수행하기 위해 활용하는 시스템은 사용자 장치(UD), API 제공 모듈(1000), 블록체인 네트워크 맵핑 관리 모듈(2000), 블록체인 네트워크 B(net_b), 블록체인 네트워크 C(net_c) 및 블록체인 네트워크 D(net_d)를 포함할 수 있다. 이때, 블록체인 네트워크 B(net_b)는 스마트 컨트랙트 서비스를 지원하는 블록체인 네트워크를 의미할 수 있고, 블록체인 네트워크 C(net_c) 및 블록체인 네트워크 D(net_d)는 스마트 컨트랙트 서비스를 지원하지 않는 블록체인 네트워크를 의미할 수 있다.Referring to FIGS. 2 and 6, the system used to perform the process is a user device (UD), an API providing module 1000, a blockchain network mapping management module 2000, a blockchain network B (net_b), It may include blockchain network C (net_c) and blockchain network D (net_d). At this time, blockchain network B (net_b) may mean a blockchain network supporting smart contract service, and blockchain network C (net_c) and blockchain network D (net_d) are blockchains that do not support smart contract service. can mean a network.

블록체인 네트워크 B(net_b)에 배포된 제1, 제2 및 제3 컨트랙트 B(con_b1, con_b2, con_b3)는 API 제공 모듈(1000)에서 블록체인 네트워크 B(net_b)로 스마트 컨트랙트 실행을 위한 트랜잭션을 전송함으로써 실행될 수 있다.The 1st, 2nd and 3rd contracts B (con_b1, con_b2, con_b3) deployed on the blockchain network B (net_b) transfer transactions for smart contract execution from the API providing module 1000 to the blockchain network B (net_b). It can be executed by sending

이하에서는, 스마트 컨트랙트를 지원하지 않는 블록체인 네트워크 C(net_c)에서 블록체인 네트워크 B(net_b)에 배포된 스마트 컨트랙트를 활용하고자 할 때 수행되는 과정에 대해 설명하고자 한다.Below, we will explain the process performed when trying to utilize a smart contract deployed in blockchain network B (net_b) in blockchain network C (net_c), which does not support smart contracts.

스마트 컨트랙트를 지원하는 블록체인 네트워크 B(net_b)에 제1 컨트랙트 B(con_b1), 제2 컨트랙트 B(con_b2) 또는 제3 컨트랙트 B(con_b3)를 배포할 수 있다.A first contract B (con_b1), a second contract B (con_b2), or a third contract B (con_b3) may be deployed on a blockchain network B (net_b) supporting smart contracts.

일 실시예에서, 제2 및 제3 컨트랙트 B(con_b3)는 제1 컨트랙트 B(con_b1)와 동일한 구성을 갖춘 스마트 컨트랙트를 의미할 수 있다.In one embodiment, the second and third contract B (con_b3) may mean a smart contract having the same configuration as the first contract B (con_b1).

다른 실시예에서, 제2 및 제3 컨트랙트 B(con_b3)는 블록체인 네트워크 B(net_b)에 제2 컨트랙트 B(con_b2) 또는 제3 컨트랙트 B(con_b3)를 실행할 때 필요한 정보를 저장하는 구성을 추가한 스마트 컨트랙트를 의미할 수 있다.In another embodiment, the second and third contracts B (con_b3) add a configuration for storing necessary information when executing the second contract B (con_b2) or the third contract B (con_b3) in the blockchain network B (net_b). It can mean a smart contract.

네트워크 맵핑 모듈(2110)은 블록체인 네트워크 B(net_b) 내의 정보와 블록체인 네트워크 C(net_c) 내의 정보를 맵핑하여, 상기 맵핑에 대한 제1 데이터를 API 제공 모듈(1000)로 전송할 수 있다. API 제공 모듈(1000)은 수신 받은 상기 제1 데이터를 저장할 수 있다.The network mapping module 2110 may map information in the blockchain network B (net_b) and information in the blockchain network C (net_c), and transmit first data for the mapping to the API providing module 1000. The API providing module 1000 may store the received first data.

예를 들어, 네트워크 맵핑 모듈(2110)은 블록체인 네트워크 B(net_b) 내의 제1, 제2 및 제3 컨트랙트 B(con_b3) 중 적어도 하나와 블록체인 네트워크 C(net_c) 내의 정보를 맵핑하여, 상기 맵핑에 대한 제2 데이터를 API 제공 모듈(1000)로 전송할 수 있다. API 제공 모듈(1000)은 수신 받은 상기 제2 데이터를 저장할 수 있다.For example, the network mapping module 2110 maps at least one of the first, second, and third contracts B (con_b3) in the blockchain network B (net_b) and information in the blockchain network C (net_c), Second data for mapping may be transmitted to the API providing module 1000 . The API providing module 1000 may store the received second data.

이때, 블록체인 네트워크 C(net_c) 내의 상기 정보는 블록체인 네트워크 C(net_c) 내의 지갑에 대한 주소 등의 정보를 의미할 수 있다.At this time, the information in the blockchain network C (net_c) may mean information such as an address for a wallet in the blockchain network C (net_c).

사용자 장치(UD)가 블록체인 네트워크 C(net_c)에서 제2 컨트랙트 B(con_b2)를 활용하기 위한 API를 호출했을 때, API 제공 모듈(1000)은 블록체인 네트워크 C(net_c) 내의 정보와 맵핑된 제2 컨트랙트 B(con_b2)를 실행시키기 위한 트랜잭션을 생성할 수 있다. 이때, 상기 트랜잭션은 상기 제1 및 제2 데이터를 이용하여 생성될 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다. 즉, 스마트 컨트랙트 서비스를 지원하지 않는 네트워크에서 스마트 컨트랙트를 활용하는 경우, 상기 네트워크는 블록체인 네트워크 C(net_c) 또는 블록체인 네트워크 D(net_d)를 의미할 수 있고, 상기 스마트 컨트랙트는 제1, 제2 및 제3 컨트랙트 B(con_b1, con_b2, con_b3)를 의미할 수 있다.When the user device (UD) calls an API for utilizing the second contract B (con_b2) in the blockchain network C (net_c), the API providing module 1000 maps information in the blockchain network C (net_c) A transaction for executing the second contract B (con_b2) may be created. In this case, the transaction may be generated using the first and second data. However, this embodiment is not limited thereto. That is, when a smart contract is used in a network that does not support smart contract services, the network may mean blockchain network C (net_c) or blockchain network D (net_d), and the smart contract is the first and second smart contracts. 2 and 3 contract B (con_b1, con_b2, con_b3).

이하에서는 도 7 내지 도 9를 참조하여 트랜잭션 실행, 결과 조회 및 실행 과정에 대해 설명하도록 한다.Hereinafter, processes of transaction execution, result inquiry, and execution will be described with reference to FIGS. 7 to 9 .

도 7은 트랜잭션을 실행하는 API 시퀀스를 나타내기 위한 도면이다.7 is a diagram for illustrating an API sequence for executing a transaction.

도 2 및 도 7을 참조하면, 트랜잭션을 실행하는 API 시퀀스는 다음과 같은 순서로 진행된다.Referring to FIGS. 2 and 7 , the API sequence for executing a transaction proceeds in the following order.

사용자 장치(UD)는 API 제공 시스템(10000)에 트랜잭션을 실행하기 위한 API를 요청한다(SA1). API 제공 시스템(10000)은 저장부(1200)에 지갑 키를 요청한다(SA2). 저장부(1200)는 API 제공 시스템(10000)에 상기 지갑 키 요청에 대해 응답한다(SA3). API 제공 시스템(10000)은 블록체인 네트워크(net)에 상기 트랜잭션을 전송한다(SA4). 블록체인 네트워크(net)는 API 제공 시스템(10000)으로부터 수신 받은 상기 트랜잭션에 응답한다(SA5). API 제공 시스템(10000)은 저장부(1200)에 상기 트랜잭션에 대한 기록을 저장한다(SA6). API 제공 시스템(10000)은 사용자 장치(UD)에 API를 응답한다(SA7).The user device UD requests an API for executing a transaction from the API providing system 10000 (SA1). The API providing system 10000 requests a wallet key from the storage unit 1200 (SA2). The storage unit 1200 responds to the wallet key request to the API providing system 10000 (SA3). The API providing system 10000 transmits the transaction to the blockchain network (net) (SA4). The blockchain network (net) responds to the transaction received from the API providing system (10000) (SA5). The API providing system 10000 stores a record of the transaction in the storage unit 1200 (SA6). The API providing system 10000 responds with the API to the user device UD (SA7).

도 8은 트랜잭션 결과를 조회하는 API 시퀀스를 나타내기 위한 도면이다.8 is a diagram for illustrating an API sequence for querying a transaction result.

도 2 및 도 8을 참조하면, 트랜잭션 결과를 조회하는 API 시퀀스는 다음과 같은 순서로 진행된다.Referring to FIGS. 2 and 8 , the API sequence for querying the transaction result proceeds in the following order.

사용자 장치(UD)는 트랜잭션 결과를 조회하기 위한 API를 요청한다(SB1). API 제공 시스템(10000)은 저장부(1200)에 상기 트랜잭션에 대한 해시를 요청한다(SB2). 저장부(1200)는 API 제공 시스템(10000)에 상기 요청에 응답한다(SB3). API 제공 시스템(10000)은 블록체인 네트워크(net)에 상기 트랜잭션에 대한 결과를 요청한다(SB4). 블록체인 네트워크(net)는 API 제공 시스템(10000)에 상기 트랜잭션에 대한 결과를 응답한다(SB5). API 제공 시스템(10000)은 저장부(1200)에 상기 트랜잭션에 대한 결과를 저장한다(SB6). API 제공 시스템(10000)은 사용자 장치(UD)에 상기 트랜잭션에 대한 결과를 응답한다(SB7).The user device (UD) requests an API for querying the transaction result (SB1). The API providing system 10000 requests the hash of the transaction from the storage unit 1200 (SB2). The storage unit 1200 responds to the request to the API providing system 10000 (SB3). The API providing system 10000 requests a result of the transaction from the blockchain network (net) (SB4). The blockchain network (net) responds the result of the transaction to the API providing system (10000) (SB5). The API providing system 10000 stores the result of the transaction in the storage unit 1200 (SB6). The API providing system 10000 responds the result of the transaction to the user device UD (SB7).

도 9는 스마트 컨트랙트 미지원 블록체인 네트워크의 맵핑 과정 및 트랜잭션 실행 과정을 나타내기 위한 도면이다.9 is a diagram illustrating a mapping process and a transaction execution process of a blockchain network that does not support smart contracts.

도 2 및 도 9를 참조하면, 스마트 컨트랙트 미지원 블록체인 네트워크의 맵핑 과정(SC)은 다음과 같은 순서로 진행된다.Referring to FIGS. 2 and 9, the mapping process (SC) of a blockchain network that does not support smart contracts proceeds in the following order.

블록체인 네트워크 맵핑 관리 모듈(2000)은 스마트 컨트랙트 서비스를 지원하지 않는 블록체인 네트워크 C(net_c)의 데이터 구조를 조회한다(SC1). 블록체인 네트워크 맵핑 관리 모듈(2000)은 스마트 컨트랙트를 지원하는 블록체인 네트워크 B(net_b) 내에 배포된 컨트랙트 B와 블록체인 네트워크 C(net_c) 내의 정보를 맵핑한다(SC2). 블록체인 네트워크 맵핑 관리 모듈(2000)은 API 제공 모듈에 상기 맵핑에 대한 데이터를 저장한다(SC3).The blockchain network mapping management module 2000 queries the data structure of the blockchain network C (net_c) that does not support the smart contract service (SC1). The blockchain network mapping management module 2000 maps contract B deployed in blockchain network B (net_b) supporting smart contracts and information in blockchain network C (net_c) (SC2). The blockchain network mapping management module 2000 stores the mapping data in the API providing module (SC3).

다시 도 2 및 도 9를 참조하면, 스마트 컨트랙트 미지원 블록체인 네트워크의 트랜잭션 실행 과정(SD)은 다음과 같은 순서로 진행된다.Referring back to FIGS. 2 and 9 , the transaction execution process (SD) of a blockchain network that does not support smart contracts proceeds in the following order.

사용자 장치(UD)는 API 제공 모듈(1000)에 트랜잭션을 실행하기 위한 API를 요청한다(SD1). API 제공 모듈(1000)은 블록체인 네트워크 맵핑 관리 모듈(2000)에 블록체인 네트워크 B(net_b) 내에 배포된 컨트랙트 B와 블록체인 네트워크 C(net_c) 간의 맵핑 데이터를 요청한다(SD2). 블록체인 네트워크 맵핑 관리 모듈(2000)은 블록체인 네트워크 B(net_b)에 키를 생성한다(SD3). 블록체인 네트워크 B(net_b)는 블록체인 네트워크 맵핑 관리 모듈(2000)을 통해 상기 키를 맵핑한다(SD4). 블록체인 네트워크 맵핑 관리 모듈(2000)은 API 제공 모듈(1000)에 상기 맵핑 데이터를 응답한다(SD5). API 제공 모듈(1000)은 블록체인 네트워크 B(net_b)에 상기 트랜잭션을 전송한다(SD6). API 제공 모듈(1000)은 블록체인 네트워크 맵핑 관리 모듈(2000)에 상기 맵핑 데이터를 업데이트한다(SD7). 블록체인 네트워크 맵핑 관리 모듈(2000)은 API 제공 모듈(1000)에 상기 맵핑 데이터를 저장한다(SD8). API 제공 모듈(1000)은 사용자 장치에 상기 요청받은 API 결과를 응답한다(SD9).The user device UD requests an API for executing a transaction from the API providing module 1000 (SD1). The API providing module 1000 requests mapping data between the contract B deployed in the blockchain network B (net_b) and the blockchain network C (net_c) from the blockchain network mapping management module 2000 (SD2). The blockchain network mapping management module 2000 generates a key in the blockchain network B (net_b) (SD3). The blockchain network B (net_b) maps the key through the blockchain network mapping management module 2000 (SD4). The blockchain network mapping management module 2000 responds with the mapping data to the API providing module 1000 (SD5). The API providing module 1000 transmits the transaction to blockchain network B (net_b) (SD6). The API providing module 1000 updates the mapping data to the blockchain network mapping management module 2000 (SD7). The blockchain network mapping management module 2000 stores the mapping data in the API providing module 1000 (SD8). The API providing module 1000 responds with the requested API result to the user device (SD9).

이하에서는 도 10 및 도 11을 참조하여 블록체인 네트워크의 스마트 컨트랙트 지원 여부에 따른 트랜잭션 전송까지의 과정을 설명하도록 한다.Hereinafter, with reference to FIGS. 10 and 11, the process of transmitting a transaction according to whether a smart contract is supported by a blockchain network will be described.

도 10은 스마트 컨트랙트 지원 여부에 따른 트랜잭션 전송까지의 과정을 간략하게 나타내기 위한 순서도이다.10 is a flowchart for briefly illustrating the process up to transaction transmission depending on whether smart contracts are supported.

도 2 및 도 10을 참조하면, 사용자 장치(UD)에 API 서비스를 등록하고 관리한다(S100). API 제공 시스템(10000)에 사용자 장치(UD)로부터 API 요청이 수신되었는지 확인한다(S200). 상기 API 요청을 수신 받을 경우, API 제공 시스템(10000)은 상기 요청에 사용되는 블록체인 네트워크가 스마트 컨트랙트 서비스를 지원하는지 확인한다(S300). 스마트 컨트랙트를 지원하지 않는 블록체인 네트워크일 경우, API 제공 시스템(10000)은 저장부(1200)에서 상기 블록체인 네트워크와 맵핑된 스마트 컨트랙트를 조회한다(S400). API 제공 시스템(10000)은 상기 API 요청에 해당하는 트랜잭션을 생성한다(S500). API 제공 시스템(10000)은 상기 블록체인 네트워크를 구성하는 적어도 하나의 노드와 연결한다(S600). API 제공 시스템(10000)은 상기 블록체인 네트워크에 상기 연결된 노드를 통해 상기 생성된 트랜잭션을 전송한다(S700).Referring to FIGS. 2 and 10 , an API service is registered and managed in a user device (UD) (S100). It is checked whether an API request is received from the user device (UD) in the API providing system (10000) (S200). When receiving the API request, the API providing system 10000 checks whether the blockchain network used for the request supports the smart contract service (S300). In the case of a blockchain network that does not support smart contracts, the API providing system 10000 searches the smart contract mapped with the blockchain network in the storage unit 1200 (S400). The API providing system 10000 generates a transaction corresponding to the API request (S500). The API providing system 10000 connects to at least one node constituting the blockchain network (S600). The API providing system 10000 transmits the generated transaction to the blockchain network through the connected node (S700).

도 11은 스마트 컨트랙트 지원 여부에 따른 트랜잭션 전송까지의 과정을 구체적으로 나타내기 위한 순서도이다.11 is a flowchart for specifically showing the process up to transaction transmission depending on whether smart contracts are supported.

도 2 및 도 11을 참조하면, 사용자 장치(UD)에 API 서비스를 등록하고 관리한다(S100). 구체적으로, API 서비스를 등록하고 관리한다는 것은, 사용자 장치(UD)와 API 제공 시스템(10000)이 서로 통신 가능한 상태로 유지한다는 것을 의미할 수 있다. 이때, API 제공 시스템은 REST를 기반으로 외부 장치와 통신을 수행할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.Referring to FIGS. 2 and 11 , an API service is registered and managed in the user device (UD) (S100). Specifically, registering and managing the API service may mean that the user device UD and the API providing system 10000 maintain communication with each other. At this time, the API providing system may perform communication with an external device based on REST. However, this embodiment is not limited thereto.

API 제공 시스템(10000)에 사용자 장치(UD)로부터 API 요청이 수신되었는지 확인한다(S200). 구체적으로, API 제공 시스템(10000)은 사용자 장치(UD)로부터 스마트 컨트랙트 서비스를 지원하는 제1 블록체인 네트워크의 제1 스마트 컨트랙트를 상기 스마트 컨트랙트 서비스를 지원하지 않는 제2 블록체인 네트워크에서 사용하기 위한 API를 호출 받을 수 있다.It is checked whether an API request is received from the user device (UD) in the API providing system (10000) (S200). Specifically, the API providing system 10000 is for using a first smart contract of a first blockchain network supporting a smart contract service from a user device (UD) in a second blockchain network that does not support the smart contract service. API can be called.

상기 API 요청을 수신 받을 경우, API 제공 시스템(10000)은 상기 요청에 사용되는 블록체인 네트워크가 스마트 컨트랙트 서비스를 지원하는지 확인한다(S300).When receiving the API request, the API providing system 10000 checks whether the blockchain network used for the request supports the smart contract service (S300).

스마트 컨트랙트 서비스를 지원하지 않는 블록체인 네트워크일 경우, API 제공 시스템(10000)은 저장부(1200)에서 상기 블록체인 네트워크와 맵핑된 스마트 컨트랙트를 조회한다(S400). 반대로, 스마트 컨트랙트 서비스를 지원하는 블록체인 네트워크일 경우, API 제공 시스템(10000)은 상기 API 요청을 바탕으로 트랜잭션을 생성할 수 있다. API 제공 시스템(10000)은 상기 생성된 트랜잭션을 스마트 컨트랙트 서비스를 지원하는 블록체인 네트워크에 전송 및 저장할 수 있다.In the case of a blockchain network that does not support smart contract services, the API providing system 10000 searches the smart contract mapped with the blockchain network in the storage unit 1200 (S400). Conversely, in the case of a blockchain network supporting smart contract services, the API providing system 10000 may generate a transaction based on the API request. The API providing system 10000 may transmit and store the generated transaction in a blockchain network supporting a smart contract service.

저장부(1200)에 맵핑된 스마트 컨트랙트가 존재하지 않을 경우, 스마트 컨트랙트를 지원하는 블록체인 네트워크의 스마트 컨트랙트와 스마트 컨트랙트를 지원하지 않는 블록체인 네트워크를 맵핑한다(S420). 구체적으로, 블록체인 네트워크 맵핑 관리 모듈(2000)을 이용해 상기 제1 스마트 컨트랙트와 상기 제2 블록체인 네트워크를 맵핑할 수 있다.If there is no smart contract mapped in the storage unit 1200, the smart contract of the blockchain network supporting the smart contract and the blockchain network not supporting the smart contract are mapped (S420). Specifically, the first smart contract and the second blockchain network may be mapped using the blockchain network mapping management module 2000.

상기 맵핑에 대한 데이터를 저장부(1200)에 저장한다(S430). 구체적으로, 상기 맵핑에 대한 맵핑 데이터를 API 제공 시스템(10000)에 저장할 수 있다.Data for the mapping is stored in the storage unit 1200 (S430). Specifically, mapping data for the mapping may be stored in the API providing system 10000.

상기 제1 블록체인 네트워크와 제2 블록체인 네트워크 간의 개인 키를 획득한다(S440). 구체적으로, 저장부(1200)에 상기 요청에 사용되는 개인 키가 존재하지 않을 경우, API 제공 시스템(10000)은 블록체인 네트워크 맵핑 관리 모듈(2000)을 이용해 상기 개인 키를 생성할 수 있다.A private key between the first blockchain network and the second blockchain network is obtained (S440). Specifically, when the private key used for the request does not exist in the storage unit 1200, the API providing system 10000 may generate the private key using the blockchain network mapping management module 2000.

상기 개인 키를 API 제공 시스템(10000)의 저장부(1200)에 저장한다(S450).The private key is stored in the storage unit 1200 of the API providing system 10000 (S450).

상기 API 요청에 해당하는 트랜잭션을 생성한다(S500). 구체적으로, API 제공 시스템(10000)은 상기 맵핑 데이터 및 상기 제1 스마트 컨트랙트에 대한 정보를 바탕으로 제1 트랜잭션을 생성할 수 있다. API 제공 시스템(10000)은 생성된 상기 제1 트랜잭션을 상기 제1 블록체인 네트워크에 전송하여 상기 제1 블록체인 네트워크에 상기 제1 트랜잭션을 저장할 수 있다. 이때, API 제공 시스템(10000)은 상기 제1 트랜잭션을 바탕으로 상기 제1 블록체인 네트워크 또는 상기 제2 블록체인 네트워크로부터 상기 맵핑 데이터의 업데이트 데이터를 수신 받을 수 있다.A transaction corresponding to the API request is generated (S500). Specifically, the API providing system 10000 may generate a first transaction based on the mapping data and information on the first smart contract. The API providing system 10000 may transmit the generated first transaction to the first blockchain network and store the first transaction in the first blockchain network. At this time, the API providing system 10000 may receive update data of the mapping data from the first blockchain network or the second blockchain network based on the first transaction.

API 제공 시스템(10000)은 상기 블록체인 네트워크를 구성하는 적어도 하나의 노드와 연결한다(S600).The API providing system 10000 connects to at least one node constituting the blockchain network (S600).

API 제공 시스템(10000)은 상기 블록체인 네트워크에 상기 연결된 노드를 통해 상기 생성된 트랜잭션을 전송한다(S700). 구체적으로, API 제공 시스템(10000)은 생성된 상기 제1 트랜잭션을 수신 받는 블록체인 네트워크 연결부(1330)를 포함할 수 있다. API 제공 시스템(10000)은 블록체인 네트워크 연결부(1330)를 통해 상기 제1 트랜잭션을 상기 제1 블록체인 네트워크의 노드에 전송할 수 있다. S700 단계 이후에, API 제공 시스템(10000)은 상기 API 요청에 대한 결과를 응답할 수 있다.The API providing system 10000 transmits the generated transaction to the blockchain network through the connected node (S700). Specifically, the API providing system 10000 may include a blockchain network connection unit 1330 receiving the generated first transaction. The API providing system 10000 may transmit the first transaction to the node of the first blockchain network through the blockchain network connection unit 1330. After step S700, the API providing system 10000 may respond with a result of the API request.

이하에서는 도 12를 참조하여 블록체인 네트워크 맵핑 관리부가 API 제공 시스템의 제어부에 포함되는 경우를 설명하도록 한다.Hereinafter, referring to FIG. 12, a case in which the blockchain network mapping management unit is included in the control unit of the API providing system will be described.

도 12는 API 제공 시스템의 제어부에 블록체인 네트워크 맵핑 관리부가 포함되어 있는 모습을 나타내기 위한 도면이다.12 is a diagram for showing how a blockchain network mapping management unit is included in the control unit of the API providing system.

도 2 및 도 12를 참조하면, 블록체인 네트워크 맵핑 관리 모듈(2000)과 블록체인 네트워크 맵핑 관리부(1340)는 동일하거나 유사한 구성 요소를 포함할 수 있다. 도 2의 블록체인 네트워크 맵핑 관리 모듈(2000)은 API 제공 모듈(1000)과 분리된 개념인 반면, 도 12의 블록체인 네트워크 맵핑 관리부(1340)는 API 제공 시스템(10000)의 제어부(1300)에 포함된 블록체인 네트워크 맵핑 관리 모듈(2000)과 동일하거나 유사한 역할을 수행할 수 있다.Referring to FIGS. 2 and 12 , the blockchain network mapping management module 2000 and the blockchain network mapping management unit 1340 may include the same or similar components. While the blockchain network mapping management module 2000 of FIG. 2 is a concept separate from the API providing module 1000, the blockchain network mapping management unit 1340 of FIG. 12 is in the control unit 1300 of the API providing system 10000. It can perform the same or similar role as the included blockchain network mapping management module 2000.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an example of the technical idea of the present embodiment, and various modifications and variations can be made to those skilled in the art without departing from the essential characteristics of the present embodiment. Therefore, the present embodiments are not intended to limit the technical idea of the present embodiment, but to explain, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of this embodiment should be interpreted according to the claims below, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of rights of this embodiment.

Claims (10)

스마트 컨트랙트 서비스를 지원하는 제1 블록체인 네트워크의 제1 스마트 컨트랙트를 상기 스마트 컨트랙트 서비스를 지원하지 않는 제2 블록체인 네트워크에서 사용하기 위한 API(Application Programming Interface; API)를 호출 받은 단계;
상기 제1 스마트 컨트랙트와 상기 제2 블록체인 네트워크를 맵핑하는 단계;
상기 맵핑에 대한 맵핑 데이터를 API 제공 시스템에 저장하는 단계;
상기 제1 블록체인 네트워크와 상기 제2 블록체인 네트워크 간의 개인 키를 획득하는 단계;
상기 개인 키를 상기 API 제공 시스템에 저장하는 단계;
상기 맵핑 데이터 및 상기 제1 스마트 컨트랙트에 대한 제1 정보를 바탕으로 제1 트랜잭션을 생성하는 단계;
생성된 상기 제1 트랜잭션을 상기 제1 블록체인 네트워크에 전송하여 상기 제1 블록체인 네트워크에 상기 제1 트랜잭션을 저장하는 단계; 및
호출 받은 상기 API에 대한 결과를 응답하는 단계를 포함하는,
API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법.
Receiving a call to an API (Application Programming Interface; API) for using a first smart contract of a first blockchain network supporting a smart contract service in a second blockchain network that does not support the smart contract service;
Mapping the first smart contract and the second blockchain network;
Storing mapping data for the mapping in an API providing system;
obtaining a private key between the first blockchain network and the second blockchain network;
storing the private key in the API providing system;
generating a first transaction based on the mapping data and first information on the first smart contract;
transmitting the generated first transaction to the first blockchain network and storing the first transaction in the first blockchain network; and
Including the step of responding to the result of the called API,
How to use blockchain smart contract using API provision system.
제1 항에 있어서,
호출 받은 상기 API를 바탕으로 제2 트랜잭션을 생성하는 단계와,
상기 제2 트랜잭션을 상기 제1 블록체인 네트워크로 전송하여 상기 제1 블록체인 네트워크에 상기 제2 트랜잭션을 저장하는 단계를 더 포함하는,
API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법.
According to claim 1,
generating a second transaction based on the called API;
Further comprising transmitting the second transaction to the first blockchain network and storing the second transaction in the first blockchain network.
How to use blockchain smart contract using API provision system.
제1 항에 있어서,
상기 API 제공 시스템은,
REST(Representational State Transfer; REST)를 기반으로 외부 장치와 통신을 수행하는,
API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법.
According to claim 1,
The API providing system,
Communication with an external device based on REST (Representational State Transfer; REST),
How to use blockchain smart contract using API provision system.
제1 항에 있어서,
상기 API 제공 시스템은,
생성된 상기 제1 트랜잭션을 수신받는 블록체인 네트워크 연결부를 포함하고,
상기 제1 트랜잭션을 상기 제1 블록체인 네트워크에 전송하여 상기 제1 블록체인 네트워크에 상기 제1 트랜잭션을 저장하는 단계는,
상기 블록체인 네트워크 연결부를 통해 상기 제1 트랜잭션을 상기 제1 블록체인 네트워크의 노드에 전송하는 단계를 포함하는,
API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법.
According to claim 1,
The API providing system,
A blockchain network connection unit receiving the generated first transaction,
The step of transmitting the first transaction to the first blockchain network and storing the first transaction in the first blockchain network,
Transmitting the first transaction to a node of the first blockchain network through the blockchain network connection unit,
How to use blockchain smart contract using API provision system.
제1 항에 있어서,
상기 제1 트랜잭션을 상기 제1 블록체인 네트워크에 전송하여 상기 제1 블록체인 네트워크에 상기 제1 트랜잭션을 저장하는 단계는,
상기 제1 트랜잭션을 바탕으로 상기 맵핑 데이터의 업데이트 데이터를 수신받는 단계를 포함하는,
API 제공 시스템을 이용한 블록체인 스마트 컨트랙트 사용 방법.
According to claim 1,
The step of transmitting the first transaction to the first blockchain network and storing the first transaction in the first blockchain network,
Receiving update data of the mapping data based on the first transaction,
How to use blockchain smart contract using API provision system.
사용자 장치로부터 API(Application Programming Interface; API)를 호출 받고, 블록체인 네트워크를 통해 상기 사용자 장치에 상기 호출에 해당하는 제1 결과를 응답하는 API 제공 모듈; 및
상기 블록체인 네트워크와 스마트 컨트랙트 간의 맵핑 데이터를 제어하는 블록체인 네트워크 맵핑 모듈을 포함하되,
상기 API 제공 모듈은,
상기 사용자 장치에 REST API(Representational State Transfer Application Programming Interface; REST API)를 제공하는 제어부와,
상기 제1 결과를 생성할 때 사용되는 중간 데이터를 저장하는 저장부와,
상기 사용자 장치, 상기 저장부 및 상기 블록체인 네트워크 중 적어도 하나와 통신하도록 구성되는 통신부를 포함하고,
상기 제어부는,
상기 호출에 따라 상기 스마트 컨트랙트를 실행시키는 트랜잭션을 생성하는 트랜잭션 처리부와,
상기 호출에 따라 상기 블록체인 네트워크에 상기 트랜잭션을 전송하는 블록체인 네트워크 연결부와,
상기 사용자 장치로부터 상기 호출을 수신받아 상기 트랜잭션 처리부, 상기 블록체인 네트워크 연결부 및 상기 저장부로 전송하는 서비스 처리부를 더 포함하는,
API 제공 시스템.
An API providing module that receives an API (Application Programming Interface) call from a user device and responds to a first result corresponding to the call to the user device through a blockchain network; and
Including a blockchain network mapping module that controls mapping data between the blockchain network and smart contract,
The API providing module,
A control unit providing a REST API (Representational State Transfer Application Programming Interface; REST API) to the user device;
a storage unit for storing intermediate data used when generating the first result;
A communication unit configured to communicate with at least one of the user device, the storage unit, and the blockchain network;
The control unit,
A transaction processor generating a transaction for executing the smart contract according to the call;
A blockchain network connection unit for transmitting the transaction to the blockchain network according to the call;
Further comprising a service processing unit that receives the call from the user device and transmits it to the transaction processing unit, the blockchain network connection unit, and the storage unit.
API delivery system.
제6 항에 있어서,
상기 블록체인 네트워크 맵핑 모듈은,
적어도 하나 이상의 상기 블록체인 네트워크로부터 상기 맵핑 데이터를 조회하고, 상기 블록체인 네트워크의 노드와 통신하여 개인 키를 생성하는 블록체인 데이터 제어부와,
상기 맵핑 데이터를 생성하여 상기 저장부에 저장하고, 상기 트랜잭션 처리부에 상기 맵핑 데이터를 제공하는 맵핑 데이터 처리부를 더 포함하는,
API 제공 시스템.
According to claim 6,
The blockchain network mapping module,
A blockchain data control unit that retrieves the mapping data from at least one blockchain network and generates a private key by communicating with a node of the blockchain network;
Further comprising a mapping data processing unit generating and storing the mapping data in the storage unit and providing the mapping data to the transaction processing unit.
API delivery system.
제7 항에 있어서,
상기 블록체인 네트워크는,
상기 스마트 컨트랙트에 대한 서비스를 지원하는 제1 블록체인 네트워크와,
상기 스마트 컨트랙트에 대한 서비스를 지원하지 않는 제2 블록체인 네트워크를 포함하고,
상기 블록체인 데이터 제어부는,
상기 제1 블록체인 네트워크에 배포된 제1 스마트 컨트랙트와 상기 제2 블록체인 네트워크를 맵핑하고, 상기 맵핑에 대한 데이터를 상기 저장부에 저장하는 네트워크 맵핑 모듈을 더 포함하는,
API 제공 시스템.
According to claim 7,
The blockchain network,
A first blockchain network that supports services for the smart contract;
Including a second blockchain network that does not support the service for the smart contract,
The blockchain data control unit,
Further comprising a network mapping module for mapping the first smart contract distributed in the first blockchain network and the second blockchain network and storing data for the mapping in the storage unit,
API delivery system.
제8 항에 있어서,
상기 블록체인 데이터 제어부는,
상기 제1 블록체인 네트워크 및 상기 제1 스마트 컨트랙트에 대한 제1 정보를 조회하고, 상기 제1 정보에 따라 제1 트랜잭션을 생성하여 상기 제1 블록체인 네트워크에 전송하는 데이터 맵핑 모듈을 더 포함하는,
API 제공 시스템.
According to claim 8,
The blockchain data control unit,
Further comprising a data mapping module for querying first information about the first blockchain network and the first smart contract, generating a first transaction according to the first information, and transmitting it to the first blockchain network,
API delivery system.
제6 항에 있어서,
상기 중간 데이터는,
상기 블록체인 네트워크에 대한 정보, 상기 블록체인 네트워크에 포함된 지갑에 대한 정보, 상기 스마트 컨트랙트에 대한 정보, 상기 트랜잭션에 대한 정보 및 상기 맵핑 데이터에 대한 정보 중 적어도 하나의 정보를 더 포함하되,
상기 블록체인 네트워크에 포함된 지갑에 대한 정보는 상기 지갑에 대한 주소 또는 상기 지갑에 대한 키를 포함하고,
상기 트랜잭션에 대한 정보는 상기 트랜잭션에 대한 해시 정보를 포함하는,
API 제공 시스템.
According to claim 6,
The intermediate data is
Further including at least one of information about the blockchain network, information about a wallet included in the blockchain network, information about the smart contract, information about the transaction, and information about the mapping data,
The information on the wallet included in the blockchain network includes an address for the wallet or a key for the wallet,
The information about the transaction includes hash information about the transaction,
API delivery system.
KR1020220177970A 2022-12-19 2022-12-19 Method of use blockchain smart contract using API providing system KR102523069B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220177970A KR102523069B1 (en) 2022-12-19 2022-12-19 Method of use blockchain smart contract using API providing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220177970A KR102523069B1 (en) 2022-12-19 2022-12-19 Method of use blockchain smart contract using API providing system

Publications (1)

Publication Number Publication Date
KR102523069B1 true KR102523069B1 (en) 2023-04-19

Family

ID=86142259

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220177970A KR102523069B1 (en) 2022-12-19 2022-12-19 Method of use blockchain smart contract using API providing system

Country Status (1)

Country Link
KR (1) KR102523069B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190132054A (en) * 2018-05-18 2019-11-27 주식회사 비즈모델라인 Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain
KR20200074474A (en) * 2018-12-17 2020-06-25 (주)에스유지 Data storage method using block chain based IoT platform
KR20200132518A (en) * 2019-05-17 2020-11-25 삼성에스디에스 주식회사 System for supporting transaction interoperation between blockchain networks and method thereof
KR102461213B1 (en) 2021-05-06 2022-10-31 주식회사 오퍼스엠 Blockchain database-based operating method and blockchain system to drive them

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190132054A (en) * 2018-05-18 2019-11-27 주식회사 비즈모델라인 Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain
KR20200074474A (en) * 2018-12-17 2020-06-25 (주)에스유지 Data storage method using block chain based IoT platform
KR20200132518A (en) * 2019-05-17 2020-11-25 삼성에스디에스 주식회사 System for supporting transaction interoperation between blockchain networks and method thereof
KR102461213B1 (en) 2021-05-06 2022-10-31 주식회사 오퍼스엠 Blockchain database-based operating method and blockchain system to drive them

Similar Documents

Publication Publication Date Title
KR20090112669A (en) Web server for managing session and its method
BRPI0709905B1 (en) service record and relevant system and method
CN101945126A (en) Forest resource heterogeneous data distributed management system
JP7293314B2 (en) Ethereum virtual machine transaction processing method, apparatus, equipment, program and medium
US20180307692A1 (en) Software application interface for mediating access to services of a centralized data store
CN113535691B (en) User service registration method and device
CN104468299A (en) Enterprise service bus system based on user rule
CN111752681A (en) Request processing method, device, server and computer readable storage medium
EP3893137B1 (en) Evm-based transaction processing method and apparatus, device, program and medium
CN113535335B (en) Virtual resource allocation method and device based on block chain and electronic equipment
CN113542435B (en) User service using method and device
KR102523069B1 (en) Method of use blockchain smart contract using API providing system
US11797556B2 (en) Database management service provision system
Chitti et al. Keeping data inter-related in a Blockchain
US20230395208A1 (en) Federated data platform integrating multiple healthcare data sources including fhir and non-fhir sources
WO2023040450A1 (en) Blockchain service network establishment
EP3910877B1 (en) Evm-based transaction processing method and apparatus, device, program and medium
WO2022206209A1 (en) Blockchain-based asset management
JP2022101477A (en) Transaction processing method of ethereum virtual machine, device, apparatus, and medium
US11847511B1 (en) Standardized interactions across different blockchains
JP4492569B2 (en) File operation control device, file operation control system, file operation control method, and file operation control program
JP2001337935A (en) Application wrapping method in dispersed object environment, its communication management device, and recording medium
KR20090028881A (en) Calm capable of searching agent service through web, agent system using the same and operation method of agent system
JP6328078B2 (en) Database system and database system program
KR20240018794A (en) Device and method for processing electronic document nft

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant