# callContract()

Method Signature

```python
def callContract(self, blockchain, sender, address, request)
```

**Parameters**

| Name         | Type                  | Description                                                                                                                 |
| ------------ | --------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `blockchain` | string or hexadecimal | Blockchain address                                                                                                          |
| `sender`     | string or hexadecimal | User's wallet address                                                                                                       |
| `address`    | string or hexadecimal | Smart Contract's address                                                                                                    |
| `Request`    | string                | Requested function in string format (include the parenthesis and the semicolumn e.g. CRC\_Contract.\_\_GetContractName();). |

**Example**

<pre class="language-python"><code class="lang-python"><strong>from circular_protocol_api import CircularProtocolAPI
</strong><strong>
</strong><strong>blockhain = 0x8a20baa40c45dc5055aeb26197c203e576ef389d9acb171bd62da11dc5ad72b2
</strong>sender = 0x8b20bda40c45dc2908aeb26197c203e576ef389d9acb171bd62da15af5ad72b4
contract_address = 0x2f0bda40c45dc2908aeb26197c203e576ef389aacb171bd62da15af5ad72b1
request = "CRC_Contract.__GetContractName();"

circular = CircularProtocolAPI()
result = circular.callContract(blockchain, sender, contract_address, request)
</code></pre>

**Result**

{% tabs %}
{% tab title="200" %}

```json
{
    "Result": 200,
    "Response": "7b20225f506572666f726d616e636522203a2022487970657220436f646520457865637574696f6e2054696d653a20313130307573222c200a0a225f436f6e736f6c655f4f757470757422203a202235343635373337343230373336643631373237343230363336663665373437323631363337343061227d",
    "Node": "7bb5bd50729d6857942701d5673ea70ca1625f883230d8543970a452d1abe1c4"
}
```

Remember to convert the response from Hex to String if you want to get the result in plain text.
{% endtab %}

{% tab title="117" %}
Wrong function call. Remember to pass the request in Hex format as shown in the body section or to verify that the smart contract address is the right one.

```json
{
    "Result": 117,
    "Response": "4552524f523a57726f6e672046756e6374696f6e2043616c6c3a200a",
    "Node": "7bb5bd50729d6857942701d5673ea70ca1625f883230d8543970a452d1abe1c4"
}
```

{% endtab %}
{% endtabs %}
