# callContract()

Method Signature

```php
public function callContract($blockchain, $from, $address, $request) 
```

**Parameters**

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

**Example**

```php
<?php
require 'vendor/autoload.php';
use CircularProtocol\Api\CircularProtocolAPI;

$circular = new CircularProtocolAPI();
$blockchain = "0x8a20baa40c45dc5055aeb26197c203e576ef389d9acb171bd62da11dc5ad72b2";
$senderAddress = "0x8b1dd25076c04c5139acba458f86c69cd2d322c61d19bc28daa3bbd945083738";
$contractAddress = "0x9f1dd25076c04c5139acba438f86c69adbd322c61d19bc28dff3bbd9450837312"
$request = "CRC_Contract.__GetContractName();"

$result = $circular->callContract($blockchain, $senderAddress, $contractAddress, $request);
```

**Result**

The result will be of type `Array`, but for easier readability, here is the equivalent in JSON.

{% 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 %}
